{"_id":"gqtx","_rev":"97-615139ef96e7344d46cfcb238171f594","name":"gqtx","dist-tags":{"latest":"0.9.3","beta":"0.8.0-beta.1","canary":"0.9.4-91f52af3.0","0.9.0":"0.9.0"},"versions":{"0.1.0":{"name":"gqtx","version":"0.1.0","main":"dist/index.js","types":"dist/index.d.ts","license":"MIT","devDependencies":{"@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^14.5.8","ts-node":"^8.4.1","typescript":"^3.6.4"},"dependencies":{"graphql":"^14.5.8"},"scripts":{"prepublish":"tsc"},"gitHead":"06ba6efee2c883bf10c652d620457a4b523df5ce","description":"`(yarn add|npm install) gqtx`","_id":"gqtx@0.1.0","_nodeVersion":"10.16.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-u/h0cnPLTB+PBxytwxc4ZzdbrNfnjeP+vuNfTHgsBWcuVQVz2RFfK/4/j5NIqu2Bqrq5v/Isuysyl5Y7enNGCA==","shasum":"d5572abe31a1582e8b8f86e87af226db83cb5a44","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.1.0.tgz","fileCount":8,"unpackedSize":24255,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpMOUCRA9TVsSAnZWagAA7UwP/2kptZkBkz5UWPUNTlnK\nB5HSXb4FINoN26MlW0bNrf2QZOE2/YGCXyCoztgwKzkR87vuyVUliq4j6Mqw\nLVW4ycROacoKCElXemSsDisje789ZgehHI3VKKhN3gE2IQlq76UUXUdIqHk5\nA71SrNgptmYelQo4VFgxWOivJwU0OzT9+GRKou8qxcdnoy8g6Gx/zE+1ItKf\nOcJZNv//WFGch++TPek8IbmnJEU3Q0R9U8IN5q/JCrtWMpB4Da0o4FDpanTY\nmLxkv0+tEUtjHGYbbW57EHnoN6D1q3ReAVOJv035c6fFFN6sZfnrIkL9u7cn\nOcSqIn2IIYjoHN6md4ku23WDvH+kZcZJcmzWse2kF8CoOBo7d/8pg2mN0D3b\niE8Xl03eoWYrXtIBdnY4YKQACG3m5L/42OgLheMBp00EI0LppaiFuExgNx4b\n/B89CVOYF9/Rq20z535rQazKb6GjuNMKxehWYFFWCPMW/ZEqFFIJJrGR6Fec\nuPRM4mZhMfnAjFCTHy76BU0iCux7g7mNTUwxbO27RpRUYXsRgoX2xW3gMGCH\n/gFeSPUr0yfVqGeJWZCcYb7FeoTzCY8AziBiyVez2u74uKpsUtDYZOrhEk4L\nO0DRKZ2DbLUjqe2Ce3egOb8S85Pw9UzI13pSMCiXOtUDjJ2R1qxfSpgjvf2R\nMCTs\r\n=+cUC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDDFvZeiPSFCa3sU8Dgf6Hw6Vx7Sp080P5oNQYhsJmHwIhAKU4UAJGBnvSGi1TqZ0xGNFBUYBKUIKCoaqecsbu9DdI"}]},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.1.0_1571079059632_0.032730811398551385"},"_hasShrinkwrap":false},"0.2.0":{"name":"gqtx","version":"0.2.0","main":"dist/index.js","types":"dist/index.d.ts","license":"MIT","devDependencies":{"@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^14.5.8","ts-node":"^8.4.1","typescript":"^3.6.4"},"dependencies":{"graphql":"^14.5.8"},"scripts":{"prepare":"tsc"},"gitHead":"861035b9939b95e1d9f39fdb0b5ae35d07064890","description":"`(yarn add|npm install) gqtx`","_id":"gqtx@0.2.0","_nodeVersion":"10.16.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-aDGI5YvykfDMhrRQlire5Ti8thqB1HXjBAWrZKurXwz6FFeNwvfKsRtfFvCemBTwrM2P3w27+n18bLcot1bf+g==","shasum":"d8dcd111d1621e37b41e1157fa02192ccdba44a6","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.2.0.tgz","fileCount":10,"unpackedSize":23647,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpP2iCRA9TVsSAnZWagAAvXgQAJ/Tv4AKkoxQqYElxrn1\n25Dn3WGxvLzOKcACl1uKMpE/04qdNOWOtc6wiW/v3rm9+wnwL2rBYgfifb/3\nAHND7lQ1klICJ/OxQPkBbBdbfqEp73+o28rXkvT7c/pKqUVHqpedW/44Ct5z\n1EMk2IAS1vG0f65uFK4M3qn+oDPJBgdMd4KaVY178Gqww2/dfCe8wXnMzZFj\nbDMpYeItF6qfGv1ftiaXm3+Pxn6OMdzqSu6wGDOE9ZR7jJ8bHwHkftMof/zF\nK5GkA6CoCeohq2flmOidZtaexQmry5bSzC6rs9bAlc1dG0IGbcQ0X16ux0No\nNvgkihOQErlZJdS2r9QB8J3egJiNCOSPAMER64nRlfiYQzxoWw2hJJ5yycz3\nOyt8YoHHe3g3y2MBNeJ/Wl39++LJdgMqkRfcLcAnXIn5bZzrwHQ69mV1KZM6\n2prAbDX7/jr3tdIG1G6KM+QI6+f8NCgDJPEyH2fPqJ2cZM4JB0KtbMPWEOq6\n3AuceJwj8yRsnNsCEW4oYZ4VbVOsXfRSfCkhDjnCqapg6W2dciv5mOhkqkgp\nBt7Amz/FiMpypKs0igfqEMIiMBp3vSPFKjXH68t6DDFwkvBrgHc3C7SgdiWn\nmqlLrdYwHhWEcRIWTYJ8WtGwDoxWsG9y+QiWIOHXdvFaX/OBuRDluZqEBIFU\nsyob\r\n=mw0d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH8mG9bAByBvurEP3DmemzppxFmF+SKzppO0rUKua/IMAiAZcNeQaMsZnWKS3pvMCQrGGeyn9BeCx+QOpg6Hm+hKAw=="}]},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.2.0_1571093921801_0.14692365514040429"},"_hasShrinkwrap":false},"0.2.1":{"name":"gqtx","version":"0.2.1","main":"dist/index.js","types":"dist/index.d.ts","license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^14.5.8","ts-node":"^8.4.1","typescript":"^3.6.4"},"dependencies":{"graphql":"^14.5.8"},"scripts":{"prepare":"tsc"},"gitHead":"9c09897cf2df1122b9c3a09e4eac4cc8b36569fb","description":"## Getting Started","_id":"gqtx@0.2.1","_nodeVersion":"10.16.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-GGDW0Zu+Ule142BQfmQM2LHjCDsORK0AND9WaAkLahfBA+CFscgQLWOMKwr408fPPMjbPTzAuSNrMVUut9yN+g==","shasum":"081960d10bbf26b50bb56997e27ebe5a1c769ac6","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.2.1.tgz","fileCount":10,"unpackedSize":23936,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpf7hCRA9TVsSAnZWagAALxEP/1ViAQ30eZ/IZ6klL8Ws\nyLrlXB+CpQE3cWG8PKHqBF3+WWd7jgDPhthiGJhNNY0yb2AZ06umuvSAwMmt\n0ZFC9x75/Jf7BQ2v/PpSSKBWOu9W5Tn7/m85J20LIzRV2/d5AF/Kx5C+wEL+\nyja6S27HfN1a/VoKhLTNzfOhS0gLlov2EJ092Xo/qrep10h1cs2FcJAw96By\nkU5U1denMcCuYlaQ76brhKVlsFIjUbmEXHfs7Tk5Uu/qXge/Mkg2UbhAgJZZ\nN1ljgiV7EyI21F8Wzm8jzIDgBMllpvfJbPmbaRFItkfewhP3kcDhKU+d8EUg\nW7xVS3O/BFi5YuOXkI6DRrop4SyZ0v2YIdWVAY9U6Y6yHvBsU5AwU/nc6g5A\nSXAWfa0ZSnH33EGhAMyQG1OmaXEhw9iM0pjK9m21TDBQ0QT3+oAtsXw0AqOd\nmJpc5h6cn5NK/Oq0nqaPcXvyWNAFXyHQJKvjfTVKSw5KaagAcokQxjci7ZFO\n1iXBXUEaLrggB53uyq6HeNbduSxpcI1DEqh/8xDUiqWP+HfCSUP3zw0cXv5I\nEIForNSq1TYysFldE/Oj2IO+osC5ZK9PN1ZmFhuyr2N0WG5aDb8ypDy8Q6eA\niv2vHXOmdBF9ZlbAFWd2L5II5BkyKk0sq9jaekZmmT7F4tdKz3E5AdrBoVai\nPCmF\r\n=uMIG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXjfAiz9TucNITX1G8GS0VTBzXP33Dac6FmrT5csV3QgIgboWeI7gfTYGowKJ2BmpjxDnFnEE0oHfsYalGLvhttz8="}]},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.2.1_1571159776634_0.7060751080948773"},"_hasShrinkwrap":false},"0.3.0":{"name":"gqtx","version":"0.3.0","main":"dist/index.js","types":"dist/index.d.ts","license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^14.5.8","ts-node":"^8.4.1","typescript":"^3.6.4"},"dependencies":{"graphql":"^14.5.8"},"scripts":{"prepare":"tsc"},"gitHead":"fae6571df91b3b1547a9e1d00055fd191ca9b622","description":"## Getting Started","_id":"gqtx@0.3.0","_nodeVersion":"10.16.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-IaXBKhwcE7LfdQuo8zPnb5pi7xmSGRczQ0cMGU2dXuv7D+6Wz3m9u0Hy0sMLJJc4y00b5rpTM1IRSHByPhfm4w==","shasum":"fad8266118f1071160d99422153ea4a71a2eac4b","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.3.0.tgz","fileCount":10,"unpackedSize":25114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdppjICRA9TVsSAnZWagAAlPUP/3XK/btB2g2gTC60PF4G\nHEJF7FwghqpL9fgW+pP4pOiGw3NAKLoqIXnSHBXom3g1sV7cd7IiIXpmfwAS\nth30zvuIgeHV4eHQ/N41xx+mIwD3AwRKGzXeaSNv5IVqhCMG9B/tJXgTc2lB\nNjbDmG0zTx7QAfkfIhCJZL2kbtmNjCa+tIfrJnZydPtjGfTpR6DC0zSOQsH/\nBkcn35OryW539R0qU6K0sCrnTXSO6ltdwPwh5FuKUz6DQwAcG/qyYGP72vBI\ns34BXL2WIgf7rC1iUIc6jJOswoWXk2EktlUYC+FlyAKOl6nW98VcgwNIIsCM\nZdA9ReFZCjO0+UbIbavxbs3DfApTYWyepZM9UBkg0kA78FnaDS8V93eZfsPE\n0+MnE1mm5XXlUV5YXlpmu0IPcqrGJTAr7BqFWB8BQIt9jbPCsXFSqYQLABil\nc1g9WsGZ2yuPwngrrAYk4i4I6NGqSCz9Ho98KsKJST/COOF789ILznHRgZnQ\nn4f2gg5cd9jACsvaHgfDFRNZwDCVdoGfGSFSFCataQcvx2KxbrIotOnt8tsu\nI6qsBR94gYcr68tN31/DQxSoZSNHfwP45BI/FdX0boEzUyLIa50REtHADOzH\nvQuFtbwbfn+MMklBniKZeTcrE/Zk7bZECYkfVCQaDs6SjhZAM8rIcWaInMr9\nSMtR\r\n=w+i1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGOqOKuwviuIRB6sZv1vP7qDNfTBiFWDOkIsiezi3fYmAiEA3z2IvfQuM1twgrGLtiodQUgnUXlAdKQmCQMxL3jflC0="}]},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.3.0_1571199175967_0.38772137472954604"},"_hasShrinkwrap":false},"0.4.0":{"name":"gqtx","version":"0.4.0","main":"dist/index.js","types":"dist/index.d.ts","license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^14.5.8","ts-node":"^8.4.1","typescript":"^3.6.4"},"dependencies":{"graphql":"^14.5.8"},"scripts":{"prepare":"tsc"},"gitHead":"0f6c8473513154270a07af01f80dc14cad34534e","description":"## Getting Started","_id":"gqtx@0.4.0","_nodeVersion":"10.16.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-BqifKlmy6bw2DlP31iikp3dwlpn1kBMBBM6pQRHFD/Dt1J2FHTnveQ5Lec6aF2z/p4/4Drpor5gJNuMMR+n/OQ==","shasum":"bcfd2201ebbfb35396ccacfd9ea1ad84b1bd5be1","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.4.0.tgz","fileCount":10,"unpackedSize":28815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpzyhCRA9TVsSAnZWagAAKM0P/1CqqrU4uEsvaqJViCX1\nxDEGY5m0UVsgJK3fLR09KNN2Si1VPdTwduOB6P8x/KbBwe+kkhwVut/Aj4Cs\nyojP735uvfRer/paOddXHsKnf6mOeONsvIZRXPTZOELp86ionnTogSAnTKvV\nbg6B1m+z7LUTEuv4BECGxOHFF1HGYV2gWnp2GUg6Baz5wJonOJEfDGfpda8M\n+bzq0XRQyt0iGolXY/nJNLMFNd12N0/A0shzuA8Qhl0ml1Z6qE/6fypVBVIo\nP0Ql6DmnrDq0zpW+/C+sN62gx72jJ8CfMsNSz8qsmIfOVItkUkyWJWn049NN\n9SKnelHNP19aDxurjlQ+QBSazXjhaBL6sohsYbsZcG4ynVSVFv6QojsSFw9j\n0S10WOKVdHSqa3D5CIlWeE9sBfjpmA/6G7U9msj+5ib/Ju1TfelvkENHAIos\nkA1En4h9oX15joqsDMB1xPqT7w7E58jKm+67D0NbxQRMSFC0nN4fe7/lr409\nekDzY8BRv2k7a7sIGCzrZ9OLhbeZ0mmiOHGHpi3BsgOTyRjnoOxhbyNcsunN\nZjXXyf4xZaMdT3prsKHdD+Dly2KyBDGQp2ZzHXLdRykylcVAvEer+t2L4UVI\nW5ONJpD0MOBl4zzYok5+5YsOkDmCVlv6kjjvuR/KImrS3u1mDiRr3OlDy6QF\njuYt\r\n=Xx+a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAXw7oDECVHJe9lKHpiy/9JkrScO5ONZ8Ht+UAzNoWmhAiEAwQvX71RGhP2t4NQE6Oxya4HZoQYrNx/NeIe9Ac6d42Y="}]},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.4.0_1571241121110_0.9982788083001182"},"_hasShrinkwrap":false},"0.4.1":{"name":"gqtx","version":"0.4.1","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/sikanhe/gqtx.git"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^14.5.8","ts-node":"^8.4.1","typescript":"^3.6.4"},"dependencies":{"graphql":"^14.5.8"},"scripts":{"prepare":"tsc"},"gitHead":"9efe674518e97d50fc5ff3d56fd4ba548fd20e28","description":"## Getting Started","bugs":{"url":"https://github.com/sikanhe/gqtx/issues"},"homepage":"https://github.com/sikanhe/gqtx#readme","_id":"gqtx@0.4.1","_nodeVersion":"10.16.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-eD0HkInFY/3LCnDyBf2YBjYfHcVvRuMm1QmECKwZnVT1TRQz/HKax7NMCUaseuEgANAXCk+7btGkG1d11J9K6g==","shasum":"004578ab7cf64796706cafc46a66f6dcadf1385c","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.4.1.tgz","fileCount":10,"unpackedSize":29266,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdp+0mCRA9TVsSAnZWagAAsvkP/3IPo1r6MqolUd4EoX1G\nZc6WhCyQiV03qcPxfpY3kMjFy87/ACE/MLEL838F7qrSlzGwjYJ2QPYSXsI6\nwA29JEnHEPXzvzp2ebs7X8pr5DXka6nFODRrehGNwaYP+7AGNLCj/k6X6tt7\nA8FvTDQvvKmDcJAhuaimoSRmaDx3FNaUMlRv5BtmbdpCV9uQItXl3gcMrW+j\nUr/Llc9ju7zVTwwOPskDEJWixjWPDRtwkbte+Dgr5zgb+HCBav454vpcL4Cy\nLsmqSI4l3XTDl79idZTcp83Sj+GmlKzkyX3s7GW1d5sQ+ZA74zZoGwOyg902\nRMgueXs17QMCIINDcjoC9EIxeFIoAWmOFgQyBeWJ7LCdCr1qGr5oWsHDE4YP\nJkBxA9d5d8Ze6FCZkdR49yw0RCeFcjthRHpVLKEDXm4vPQJ+hcUwJPRHKzjp\nqxwyyIZ5/B5oIq8219JesaMsBfFpZWjCrSFCcHITdgey0seeV5UV+wJqpwlX\nqwVMUJ+Ur/n5nBgfIJuPXh9RqgdKQgV1UrjcebWFndgsjrMFI+e3V2GccQKs\n1xYCw4DX2Mah7eUXqwFaBH5/lFQoYaNUzxkW2JIJ5cT01GbRrf0T2AqQGG87\ny9jRoaSGCnn1ZapxdL9MzpOSXe/qlNTGsE5aQSSpAe1zf5axPtOy8vGcmJqn\nkTc4\r\n=eZiH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEfXbH3n3utOUuQPlsMYN2BW7afGPH9kDWzPkrg1IuFAIhALElZ3PD7UsVsh5+8AwQQSVRMHr2GYxBjw3MMkQ+nAc2"}]},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.4.1_1571286309471_0.09656230726617987"},"_hasShrinkwrap":false},"0.5.0":{"name":"gqtx","version":"0.5.0","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/sikanhe/gqtx.git"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^14.5.8","ts-node":"^8.4.1","typescript":"^3.6.4"},"dependencies":{"graphql":"^14.5.8"},"scripts":{"prepare":"tsc"},"gitHead":"bf203df6b8b10d0dfbaa845921afaa1f933d0184","description":"## Getting Started","bugs":{"url":"https://github.com/sikanhe/gqtx/issues"},"homepage":"https://github.com/sikanhe/gqtx#readme","_id":"gqtx@0.5.0","_nodeVersion":"10.16.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-aIfcVUerGUehbKt+dcsj9Pcyv1ULXj7UCxOJdbQPGC4J/glMhViBJGPf5pmDrXVOw5+0zCDgjgvJ1ly8doGS0A==","shasum":"c346152b028a9abfc92f0c7d1fc7eeab30dacb7d","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.5.0.tgz","fileCount":10,"unpackedSize":29370,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqAcjCRA9TVsSAnZWagAAFK8QAIOsBaxpCNOHIrutgMVH\nay+MrDbi4ozBP+LkGJ5fXWFG2F6/u0Tfw2VUxqVW8kdf90VKT84krLTLORya\nO+hDpaaRE/ztkNsl6Csxmp2m0MvtnSufcTVDnSyjaELSEneCM1wrFtjuUvpg\nM5PCz9gXm37O0SPFQPEQ8OKz6wYMkHrzomAVA9IHfbAm3XoqNgwVshvkph5i\nwvbxTgV2dlqwM8kObwpjCP8QCzk6XiGjkQ1SQWqonAO2VdS4/GaLf5PxKs88\nQ79pKtIbYeyWESe+Ye+82cPSBxaBCHg5W/nJLgwBVFIbM8LXOCVa3BwBnlYj\nRmJtLm7NpOBrBc2KOqASwsXXnvAT2XeCpfD8SY/W2e2cD/mxyCzbIf8WKhFK\nUHmIs56Vb9KAmaAdNbk8kaXeNvJo1DSq1YLxXlZanuO128GsCPt2meNULbzu\nlkCyeqYdD0AfC+5EoGt1lvCqvELOQuWJWucyJI0hu7PuhjE3ber77k7BDCi3\nSofsqz6/FhHsRX+b5iU12da6sUFBrJzfeVYeOLdPz0vBk9s+QHJ8zK6eYscp\nbYZWVvtKK8IRqAj4H5VJWLd8Scn/c2tEzdYWGxoPDe8DG4e4qX5VCJisQArK\nVNk+uXNWIpwR4mL4E9mfEndjBiYD224pYSH5ayLrlYKhXWnigjYcFxyxTl4l\nGrKu\r\n=+i33\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaUiB1YPz37/hiWckge/cxMOLlP9+IUFvUSB4KfxqpbgIgElxmLHBhoGX/31JpR9vn3V/Psv5Vj1LU61QNFBo8tVc="}]},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.5.0_1571292962597_0.4025297972236235"},"_hasShrinkwrap":false},"0.6.0":{"name":"gqtx","version":"0.6.0","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/sikanhe/gqtx.git"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^14.5.8","ts-node":"^8.4.1","typescript":"^3.6.4"},"dependencies":{"graphql":"^14.5.8"},"scripts":{"prepare":"tsc"},"gitHead":"6cb6c50d52347230a124037777fb3f405c423c4b","description":"## Getting Started","bugs":{"url":"https://github.com/sikanhe/gqtx/issues"},"homepage":"https://github.com/sikanhe/gqtx#readme","_id":"gqtx@0.6.0","_nodeVersion":"12.13.1","_npmVersion":"6.13.7","dist":{"integrity":"sha512-jE9amJoZ6VK0ol8BVIBcGvSsWNphnBbtl1rnD8I+fSYq7NU3Jd5jdV2MVXpPdWumheAglBLOZjkP354cO9dxFw==","shasum":"7c29813b518c93f12b7b4fad1d0775efa5627b6b","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.6.0.tgz","fileCount":11,"unpackedSize":28200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJell19CRA9TVsSAnZWagAAbp0QAKS9MirnL1yzFmn/wEIT\nBomskPJf/aZ81z7scXpSAd2CiQZJoR3aDEljsc3uj8OfIOVWRFkGsOBWW1ul\nzuUtgVeOzcuefzOcb9LSJHU/Wn8xUdJ+wG8ikVlLXyC+bXxQxKxPLsN1WsTO\nfDgZo+3+HqT6WmQaNTbXi0Exy2AzsNyLCh9Oy7UWyrN5l2F+5IysKZUHBI8i\n2wT7vZAc+4dozErvazRqhQCG2wWKMwoSSgbrMFdQ+C4QdFW3D3rK8Yx3jbxH\nOuk6XERLcbw0zIulS2wVsPYu7caW2VAuwGKBOOdzAzkTyEl34WARxg6kWoY/\ncuLg1/5pgs2r5C1xJHXEd1+dSGMMHc22BVvv6nUphrL1X7NDXacFuaZwIi0p\nwkpGPaom6c1ra/5u2VAo/c1NHhL14lGORgV3sEtpeBu0NmVy5eyhz/7RXfVX\nb/gBPuNkQOVQ8caxC84ovR2hsUdhLAr82KyEMgBEnkq4HQMw8bI7LRPScDB/\n8BmIGUftBntjKUNH8pXeNYJRYfTElNvsTGWVAkVSF0sGayDbSGlNOz7ZIGP2\nZZ4xG1H2zPPkec/sV4N87nPDJyxJterDqsckUPZm0+bQl30qmNbdo8ItP8ed\ncc2Zt77/XaTPnVNpQFZ+BAh18IuKU87J2QWGLMPaZFZEaqbbBA8S/VrCTVc/\nmuxr\r\n=gBlx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG1cUhoxSPzUCwSTfl3+vuqT8VBSxjn56fU39CFh/z/FAiEAkQe7R8irxl+a/XDyrM4TYd5HTfnuz4CWI99YipkQT8M="}]},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.6.0_1586912636551_0.3530425634107144"},"_hasShrinkwrap":false},"0.7.0":{"name":"gqtx","version":"0.7.0","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","ts-node":"^8.4.1","typescript":"^3.6.4"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"prepare":"tsc"},"description":"## Getting Started","_id":"gqtx@0.7.0","dist":{"shasum":"d63fecf0d18d0172abbed9a15341d6236d5642a8","integrity":"sha512-xOIPkiSc15zbh6uWlAMOzImJXoPn4V60Vk2QaHKTWpXHv9j+G9dSMcR7mMauPpqRaeuP1HxPVS8iK6oKzU8Inw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.7.0.tgz","fileCount":13,"unpackedSize":28788,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8igCCRA9TVsSAnZWagAAoK4P/3OKnwIP3njBGaXTKSob\nnxrc8fjzHf++nvl48CZxt0LSI0JEEori/D3UlWTAK8v+8odNihmZGE0cn/GC\n3QK8t+XeQlOL1PPXxRpTQWZms8pSCO61WFjVUOMFqCGo4V7Zwa/Siaoo0gpD\nt8vswEttxTuqSUpjSbSBXTzPb3ayDXjMxlHR0r7l+Am/ATVYjhqX/wtk5A1d\nBa+8pdDNziIk/dKpvQ5wYAQszR/WGCysA38whJ7dTk2Hso5HGNg2feKp0hQR\n42DapHZgQ/31TTJfiq/CueFuLQyKihVlISU7wqC+UBYAJJxFGQCF4kyv07vW\ne7UunIc72/0gEuTwflHMqgFQdeqbclabHeZZWw201Ewcmgd+ZqkLqxujYXn3\nbyFmx05wjdVwEeSPirth+alAdO+a2rC6kH7lYwsxUI7spRUOZF0oNYJ6RWNv\n7KG3ce6883PByhbonYBShaQgBp5l2Ba1GBMFHPZ8MFcMW1ijeHROhh3ikKM2\nkALSBh1ndz8th+7qJKoOnuL+yI3Z9M1td2vMipQHX++TinvWRSBzNstd0/Yy\nT2F8u+f4aYXFznZvq//pb9LeSM0x9+XSNFB3Ek5y1oKVLyV2IRSALY/EjeJF\nB7LN0YAzRofMQ08j2ro/6e8BHpKnD8rc63j1Z/VJ0CpHXP5/4vSDUKM1uzEf\nhLeP\r\n=mtnC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGq5TMdSiZS0CCK61zOl/A1zQ1xZSJ+EW3eKIVsAFQSgIhAIxTcnPRtF36gBZEkEPUEXtDPNzRcuzpb7JBQbjZcc32"}]},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.7.0_1592928258249_0.804310963382602"},"_hasShrinkwrap":false},"0.8.0-beta.0":{"name":"gqtx","version":"0.8.0-beta.0","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","ts-node":"^8.4.1","typescript":"^3.6.4"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"prepare":"tsc"},"description":"## Getting Started","_id":"gqtx@0.8.0-beta.0","dist":{"shasum":"5912f762e060863acf4c146cbfd30d54610df511","integrity":"sha512-F1fH9QRE0wiagGGR/h9+bV3CHMWo8zyX32yzrk6IKBhLoAEuWm+3gWPdyJKD6eTbaFNS1aAHsQg6Sk4zq0adZQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.0-beta.0.tgz","fileCount":14,"unpackedSize":31489,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6W8YCRA9TVsSAnZWagAArTwP/1xgKNM4ZxfliqV+/cwY\nwAxT2W1PPaCD458Q6j5XQmuJLSuelr5zMtsLRgqUsl5Gr+ZRhwq2vZ54nBEb\njNnMeh7lHwW1Y+ix9GONNDDmJ0MfrotR5Qmj+pBLHHk0VnxBF//IogmZVYMG\niyIaSGwDCgcVVLjeK3O3OFx1J+LUkFmwlKXOkg937X38nnhUTGPxRbdeiT+P\nqx5w530TLfFJD8QXlMovx+uG9igerKHMYOors1faLdlMLvDMgle0K+tnoCKA\nBdLFlEolb6RlzANJERcqcHK4JiIwGgo39MIoXvjfhD6nOjg6jcYcBHI1VyPL\nBic9sV7HVFt5xxOv47y7oxZJTPQnIl7o3WBsZ+J0FFq//R6US1RLwgTajnCk\nghEIiMKw46vHh6UezTAfg9w1fm9A0isUVvOfXNiYRocv7WsF4g7N/zDm/Bt5\n2y1wBGmME58hdK2RkFbt/4F66zJbPWAU6BqkgeWla09Z9cyvscpYTCX4+0/D\nDz/wNPcQRdGBHAYmkW2ibcOyWYEoVTdTubiS881vvqf6MOoCn9GQXeUc1XQQ\n6XY0psXPm5j9vxw/7R/nbqCZzNwJMBdb5fgf0pwf4nKOCg7t4mELLwmBCM2a\n0SkrUdTBEImFtblZfyv+UIwSioP6Rx7sT//avRdDZ2KJtwh3H4OiF+226ex7\nm4l4\r\n=zamd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4SJV9No8JAWWxDNc9JGQqOP01CUM023GfrtUkSEbDbQIgefJr1ryrfSSOKr56FpeFoWiyUndFDkPdch7cGksBx3o="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.0-beta.0_1609133847633_0.7280088276083438"},"_hasShrinkwrap":false},"0.8.0-beta.1":{"name":"gqtx","version":"0.8.0-beta.1","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","ts-node":"^8.4.1","typescript":"^3.6.4"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"prepare":"tsc"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { createTypesFactory, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: number;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: 1, role: Role.Admin, name: 'Sikan' },\n  { id: 2, role: Role.User, name: 'Nicole' },\n];\n\ntype AppContext = {\n  viewerId: 1,\n  users: User[]\n}\n\n// We can set the app context type once, and it will\n// be automatically inferred for all our resolvers! :)\nconst t = createTypesFactory<AppContext>();\n\nconst RoleEnum = t.enumType({\n  name: 'Role',\n  description: 'A user role',\n  values: [{ name: 'Admin', value: Role.Admin }, { name: 'User', value: Role.User }],\n});\n\nconst UserType = t.objectType<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    t.defaultField('id', t.NonNull(t.ID)),\n    t.defaultField('role', t.NonNull(RoleEnum)),\n    // `defaultField` is the safe version of a default resolver\n    // field. In this case, field 'name' must exist on `User`\n    // and its type must be `string`\n    t.defaultField('name', t.NonNull(t.String)),\n  ],\n});\n\nconst Query = t.queryType({\n  fields: [\n    t.field('userById', {\n      type: UserType,\n      args: {\n        id: t.arg(t.NonNullInput(t.ID)),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` is also automatically inferred as AppContext\n        //  All with no extra work!\n        const user = ctx.users.find(u => u.id === args.id);\n        // Also ensures we return an `User | null` type :)\n        return user || null;\n      },\n    })\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully typesafe server with almost zero type annotation needed\n","description":"## Getting Started","_id":"gqtx@0.8.0-beta.1","dist":{"shasum":"5b7d99dd40e91fcd511461f4803a7391d51e4244","integrity":"sha512-AsW3vdg4HqUAk05gn9CgojS2+4qollIwbIx1vxu902/NgSzVBEtXPV1ktBEZO/hkwKOXiNJGNWyIXo/Ug2efjQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.0-beta.1.tgz","fileCount":14,"unpackedSize":31489,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6W+gCRA9TVsSAnZWagAAc7sP/2G3DaWt/O19Lhk//ie7\n/vU7MRDXD5ffV58AgZjOGHU1GeGy+dw+f1SSLh4/Iz9xNydb1/JPqgqpmeSX\n0Emcua/FoHhTCwnLsetcwxEi0MOHy4NEVS+L9b6pGP5bDotpqLuPvR4k7lXt\nfJ3s2t3UQrfQEUYKmT+V8ThpGxrjQHWFtpEThXrSK3V5wKHyghLDQRFI1x1V\nhAwSRnIZE/cP0U+NjJ4zKhUQr3kHXhF2XkxYFYmG4CRP0s/qmb72ptVzLc3e\nmeL4Xzera149dcz7cPGneGm19XSE/ARJ1O33Z5DYAQWpZ1rBNJGMrYCuE9Tw\n+ZolugIA7vQVSLVIyFKwas9X4inUp/JKE9o2SxqTNvWGRB6fFyfR8QXBO+O5\nZBJ1fbTMZFBGmEqoNCYoMFbNOOvf7WakDOMz1pyjXxzw8GafTTsvIuIfvq6d\nicKvitO4hih5lpSUYP/y9ucXeiDu7NcpRFwV9tfeA1kydZAjX9sV9sFBQBHn\nr3TVkZNXrI0hzrJ+0x/PEbldJaID4dic4OHJRbWqqc0fU8GxOJpmsfdwZAYV\nJYLaJESN2oh9MkitpPouAWpU6b/pD+Usz/R2QReUIsj6/gvUu+nHPH5JhUiT\niDwyQ7EA40vPPY4AJ2DAI27meIIsZ+DGndyCOOv+5Cita7YzoMIGLCAZc5c7\nsh+i\r\n=af5r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCiX78RCZ9Tc0jJwrXFNQOyx3lbSstmHT7dlQg/YxHuywIgfwnal2fpRNGYvuImL6BAOC7FaARHRzYeBKtz6zefMZ0="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.0-beta.1_1609133984579_0.6201868844531087"},"_hasShrinkwrap":false},"0.8.1-800c992a.0":{"name":"gqtx","version":"0.8.1-800c992a.0","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","ts-node":"^8.4.1","typescript":"^3.6.4"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"prepare":"tsc"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { createTypesFactory, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: \"1\", role: Role.Admin, name: 'Sikan' },\n  { id: \"2\", role: Role.User, name: 'Nicole' },\n];\n\ntype AppContext = {\n  viewerId: 1,\n  users: User[]\n}\n\n// We can set the app context type once, and it will\n// be automatically inferred for all our resolvers! :)\nconst t = createTypesFactory<AppContext>();\n\nconst RoleEnum = t.enumType({\n  name: 'Role',\n  description: 'A user role',\n  values: [{ name: 'Admin', value: Role.Admin }, { name: 'User', value: Role.User }],\n});\n\nconst UserType = t.objectType<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    t.defaultField('id', t.NonNull(t.ID)),\n    t.defaultField('role', t.NonNull(RoleEnum)),\n    // `defaultField` is the safe version of a default resolver\n    // field. In this case, field 'name' must exist on `User`\n    // and its type must be `string`\n    t.defaultField('name', t.NonNull(t.String)),\n  ],\n});\n\nconst Query = t.queryType({\n  fields: [\n    t.field('userById', {\n      type: UserType,\n      args: {\n        id: t.arg(t.NonNullInput(t.ID)),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` is also automatically inferred as AppContext\n        //  All with no extra work!\n        const user = ctx.users.find(u => u.id === args.id);\n        // Also ensures we return an `User | null` type :)\n        return user || null;\n      },\n    })\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully typesafe server with almost zero type annotation needed\n","description":"## Getting Started","_id":"gqtx@0.8.1-800c992a.0","dist":{"shasum":"e6b1b8fc7df209b25aad3b19650fe40397d89ce1","integrity":"sha512-O4w4KV/tUNbJhTKzolkGicgfhAvm/sAt1Yv2gqklUNf9RWJ0k1vEPXCycfd4CZNIqf7OfZdUWhEZcz9BkyeNRA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-800c992a.0.tgz","fileCount":10,"unpackedSize":18673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLM41CRA9TVsSAnZWagAAp/cP/26TA2ZeNcjfg346Uk7d\nASGRaDFQa6i0OmO7TBxdFCDBG2BbmG3SK++LkatZ+ZdXezWc8oxmTF2e+g/6\nAhscE+ObFTKzYy+3uW1lOMvXrhuXJD2VEOfs5cGDIuEt9CDnrI3P6xmHcrI0\n79J7LbCNpaDfCgqbqdKoD0NKtZ1l9kqrHhnoGMQfESG+EDgAefnfqIxEYR6x\nEhSQX8vGyQHxN1vsVRDp04dZLgChDubxP1qyeZRoCo5JaMgeRKHiir/A8zWA\nv+/H+zouDI6q6kcLooIzq7zvLPB6q5iLMuPIhSXbho3Hm/K51GqIRjen+MEk\n+GaLS+k1fokWHKyDqre+px/R8GW8d3zFf+ANZMwCVOG7YOVJRCGAskjD13wE\nLXLmqmql9gpDuVBrdu2t8rrwHsvAQ0FpqMXIQ5j1pdjg8vf9gAQDicXomZLW\namANky6DOP/hy7gZL9A15Rg9s/Yb6B6FXRYSsuJaxEie+IbsEwy/F77jOt2n\n7UYWI3T5DOq3kkSmmRw7Kj0FgVLGEMFBg6Ml8+IQbzhbFvef/VifhYr6tL/D\nv1NaynloCnbJHsjeIbAbbbHIU9/3HHBSmIqINbOHpCKhnri68y/+JO8bncSS\nPoxDqAw8h/yrdYl2j5KjDSKQfArjgtueYxTpbXN2vdcKayReBhrS/C6M7lsd\nC1p5\r\n=qzeI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICqFydbJ4A9b4MxnMHs3fEc6Vwdhzj21e4CzKZf7iZ9NAiEAljlik3xQQzyNhD4beZs/y5j1KA+K+SwMu8YfPlwwV4s="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-800c992a.0_1613549108666_0.6383176294938246"},"_hasShrinkwrap":false},"0.8.1-7cf0d3af.0":{"name":"gqtx","version":"0.8.1-7cf0d3af.0","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","ts-node":"^8.4.1","typescript":"^3.6.4"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"prepare":"tsc"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { createTypesFactory, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: \"1\", role: Role.Admin, name: 'Sikan' },\n  { id: \"2\", role: Role.User, name: 'Nicole' },\n];\n\ntype AppContext = {\n  viewerId: 1,\n  users: User[]\n}\n\n// We can set the app context type once, and it will\n// be automatically inferred for all our resolvers! :)\nconst t = createTypesFactory<AppContext>();\n\nconst RoleEnum = t.enumType({\n  name: 'Role',\n  description: 'A user role',\n  values: [{ name: 'Admin', value: Role.Admin }, { name: 'User', value: Role.User }],\n});\n\nconst UserType = t.objectType<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    t.defaultField('id', t.NonNull(t.ID)),\n    t.defaultField('role', t.NonNull(RoleEnum)),\n    // `defaultField` is the safe version of a default resolver\n    // field. In this case, field 'name' must exist on `User`\n    // and its type must be `string`\n    t.defaultField('name', t.NonNull(t.String)),\n  ],\n});\n\nconst Query = t.queryType({\n  fields: [\n    t.field('userById', {\n      type: UserType,\n      args: {\n        id: t.arg(t.NonNullInput(t.ID)),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` is also automatically inferred as AppContext\n        //  All with no extra work!\n        const user = ctx.users.find(u => u.id === args.id);\n        // Also ensures we return an `User | null` type :)\n        return user || null;\n      },\n    })\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully typesafe server with almost zero type annotation needed\n","description":"## Getting Started","_id":"gqtx@0.8.1-7cf0d3af.0","dist":{"shasum":"3e6ebe49e30f1de8e62afce31a1ee9d44bbe9e20","integrity":"sha512-SviUIJF0nklczMURZ1a//Nd0shUuNf+/HT53uLypTFcQHpa6k/uSXsxch1eTO2bl8D5uL1e4P2wxo3JCP+wuNQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-7cf0d3af.0.tgz","fileCount":10,"unpackedSize":18673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgM9fWCRA9TVsSAnZWagAAa1EP/1QYew30stgZ8pfaj84l\nHSSbiBuds5HhEHq2rTBlt/s00cBU07HDYuYj7rXVpaCWJvcUiyX0aGL+w3e5\nF9q45QoIBojOf8+6HUuW+VAEUwAjcGtwYvh8CxTTUf9iHfMrWcZwufkLO/pN\nfiLowyPL1G4rmGVqj7MQNZ2gz+ejyAuYKet1CCDQE8DI6ReK1ceW9BIQQrJd\nuL3DvtVts7cBZC+/GNhuuBlUQAXHKb8tU/9Wd3fJh3AtqZNqwY9mZ3rtDSP9\nz+itr8BF7fyQJysuasMdMXPeq/mKg9DTEs7xqDWJYao/dl68PZ6Fi0DfdfCc\nBMfJf6qCbk+PNHAEvVOipwRJ5aKD3EKGtst+le0TElTlTSK4dmNoe2Vrq68/\niWckZbF7uytFQhVvGmVLJ3EmXIZ2MuLXDSDbPlYIvT+X+GAti8p+ijtZrKH/\nYqwRya6rEsyunXy37cbhQZ7ld0GWGPlY8xsvAmcVu0GaSMOo3iOm6GSYf7dX\nd8buwjSUy15w/MZqzTbwp7LoN93CxgQa4dcofWHad+hJXtymso6bo3MQbqgA\n1dT0sXqLPYgVncbtxr8c4E8SXY7VNZ/wyv1NXg1eQcekv8nVKIjUp5941wnF\nVaK2A8ZcjvuE4cT9aR84mKoxwaqy2/E/lTp6Ch8gmjwBJW0vecLI0cwSS4vx\nk9Qt\r\n=ytV1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIALx9VC6NAYFjDeidBKBSKlScm36K9AvC/YlGI+MQTUWAiB/noQXzxKL9vkB1jaB1WhKxbcjWOFpg+AThFFc9rlMnQ=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-7cf0d3af.0_1614010325669_0.7517539523354098"},"_hasShrinkwrap":false},"0.8.1-bea53389.0":{"name":"gqtx","version":"0.8.1-bea53389.0","type":"module","main":"dist/cjs/index.js","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/cjs/index.js"},"./relay":{"import":"./dist/relay.js","require":"./dist/cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","rollup":"^2.39.0","ts-node":"^8.4.1","tslib":"^2.1.0","typescript":"^4.1.5"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"prepare":"yarn build","build:cjs":"MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { createTypesFactory, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: \"1\", role: Role.Admin, name: 'Sikan' },\n  { id: \"2\", role: Role.User, name: 'Nicole' },\n];\n\ntype AppContext = {\n  viewerId: 1,\n  users: User[]\n}\n\n// We can set the app context type once, and it will\n// be automatically inferred for all our resolvers! :)\nconst t = createTypesFactory<AppContext>();\n\nconst RoleEnum = t.enumType({\n  name: 'Role',\n  description: 'A user role',\n  values: [{ name: 'Admin', value: Role.Admin }, { name: 'User', value: Role.User }],\n});\n\nconst UserType = t.objectType<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    t.defaultField('id', t.NonNull(t.ID)),\n    t.defaultField('role', t.NonNull(RoleEnum)),\n    // `defaultField` is the safe version of a default resolver\n    // field. In this case, field 'name' must exist on `User`\n    // and its type must be `string`\n    t.defaultField('name', t.NonNull(t.String)),\n  ],\n});\n\nconst Query = t.queryType({\n  fields: [\n    t.field('userById', {\n      type: UserType,\n      args: {\n        id: t.arg(t.NonNullInput(t.ID)),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` is also automatically inferred as AppContext\n        //  All with no extra work!\n        const user = ctx.users.find(u => u.id === args.id);\n        // Also ensures we return an `User | null` type :)\n        return user || null;\n      },\n    })\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully typesafe server with almost zero type annotation needed\n","description":"## Getting Started","_id":"gqtx@0.8.1-bea53389.0","dist":{"shasum":"f23b865e1fd59b91abbf5f0f003c8b0eaf0f8776","integrity":"sha512-2uoCQ07+606btiK8pLV1bZiZSlj1mHHm/cvKjbKQo0/HO09BL6sAnH6jeBh0H6okXYANECAE47Inj+d1mrmwIQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-bea53389.0.tgz","fileCount":18,"unpackedSize":62981,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgM+fNCRA9TVsSAnZWagAAgRcP+wQ3lKWYciZnbcaWbyQQ\nQucGNAWO6Xb1zc1XoJrvw0fRKna1AVxejbwC9Ry0652WW54iBBaVs6ifcck4\n7Zngk4RXNGsfUZeUerXizoxB0sbkD3WnY+t4bO6dChEBd0AkWwEO0Q45iGKF\nFVbhLBMEAUgPR9HJU3hTrz335n27/fy0Emw/rPsxA8GJESEriwdU1ngXAis1\nUWfOcNpdvSh1SOFWZBQtPsfSsQko/RaH771ZxzcM9Ets3Y4zJ5HjnTMVTNMg\n0cb21oPQTmEo2/9IJzjJYzkmZs3QjHU3CNoa1Ef+U5WtAhdTeU/0YXWXHC8m\nvW7YH8H/+o+2bCO4GW3O/76lo2Ef8LTroSuVPpZEf3i2hHRh0eHy7h9NjbiI\nVp4kxSqAgaD4bhSsn9WqwZ5Mlycwnu+h1mjqQyM6iJccIy05lvfcNOKfQAkb\nP2e1b3NYRPnvLzKeCtpmWJofAifjMNHDnGy5nwbo/qY+WVGhq48kmkzmPtOl\nALJhc6rU7F4GtC+jcoaQG/ARKLo59KK3jmgwT5XEjpZSzLqoF7TE1obIoTzK\nZilVpLqJotfLCbSfiVPEsck/upgqPMs8Dm/jyk7EkOuTbUZnRq5FFOqcKZCa\n/S4JaFbfpi8S45j1WoW9RECw1XNGHaf+ouDgkgqJ0ww85oAX/j37UjqBvfzG\nfoVG\r\n=WL/l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+GHI9YkBxAOXGiFqdywBA1cQOfgY2n1GWQtzLjdAMEgIgS2y/5vNtYHoxeZ9IFEzmrGzGH3geIvA7x8Sowcsq16U="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-bea53389.0_1614014413494_0.5585418230726495"},"_hasShrinkwrap":false},"0.8.1-a9325d31.0":{"name":"gqtx","version":"0.8.1-a9325d31.0","type":"module","main":"dist/cjs/index.js","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/cjs/index.js"},"./relay":{"import":"./dist/relay.js","require":"./dist/cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","rollup":"^2.39.0","ts-node":"^8.4.1","tslib":"^2.1.0","typescript":"^4.1.5"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"prepare":"yarn build","build:cjs":"MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { createTypesFactory, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: \"1\", role: Role.Admin, name: 'Sikan' },\n  { id: \"2\", role: Role.User, name: 'Nicole' },\n];\n\ntype AppContext = {\n  viewerId: 1,\n  users: User[]\n}\n\n// We can set the app context type once, and it will\n// be automatically inferred for all our resolvers! :)\nconst t = createTypesFactory<AppContext>();\n\nconst RoleEnum = t.enumType({\n  name: 'Role',\n  description: 'A user role',\n  values: [{ name: 'Admin', value: Role.Admin }, { name: 'User', value: Role.User }],\n});\n\nconst UserType = t.objectType<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    t.defaultField('id', t.NonNull(t.ID)),\n    t.defaultField('role', t.NonNull(RoleEnum)),\n    // `defaultField` is the safe version of a default resolver\n    // field. In this case, field 'name' must exist on `User`\n    // and its type must be `string`\n    t.defaultField('name', t.NonNull(t.String)),\n  ],\n});\n\nconst Query = t.queryType({\n  fields: [\n    t.field('userById', {\n      type: UserType,\n      args: {\n        id: t.arg(t.NonNullInput(t.ID)),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` is also automatically inferred as AppContext\n        //  All with no extra work!\n        const user = ctx.users.find(u => u.id === args.id);\n        // Also ensures we return an `User | null` type :)\n        return user || null;\n      },\n    })\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully typesafe server with almost zero type annotation needed\n","description":"## Getting Started","_id":"gqtx@0.8.1-a9325d31.0","dist":{"shasum":"cae7c49498f0de8a3622971a93d2ac6f788d525c","integrity":"sha512-WtOBm1fZGzAWUZV4p/ySjLydQFrVlo0u9+jVc644evkgx1TdYiAKQOaZ4SsiBY9SbiV5Z2QPBVACNkaGT4vTSw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-a9325d31.0.tgz","fileCount":15,"unpackedSize":50898,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgM+fvCRA9TVsSAnZWagAANqcQAID+fybu4IycGJUkXqrT\nuMtn/XeYkcKXQgJQtWSuR9l2R9tsD0Wo5Z4+4o7V51hhw0Rvk4mdk5aCMntr\nxPGohfk9v+KGLJYiv9pegN+TQtmy2gx38HeYXg47//D7YJoU9hwNNuSe47bW\nQ+Bc4PTrcdj5xD25+Vqp+kPmAQk7NkIg/64AO9O2k3SPEhHFU9lJm/xnWOCR\nPZrt3o9cO+Ml20ZPJi8CfRyM0Yg9ZnG/BbQj2itdoA1aI3HOI4mG7c1YKmT8\nU3vaLzkeyFPHcSEAILuRZLK5A7uUs2Evku2aBR6lZKYS8/ve83GKAkwG1flk\nRRSOwa3yryWDH6vPl8mkeqxh8Pu3DZFmruSplxiKMR9nd/qSWPcJZUjp0/tM\nTavYUo1xDwM2BPyxJ3Unlc1sURXHHvgkJzkCX2W4QaKUAnkxO6Ysh3erpxf7\nI+n6jlqS6TXY/dbftyEcT/khBoxFNZsjwjTdAs9JWLRTF29c0QL5Hw5ZyoXr\ntCgIr0sIY8x6+OT+gzoiFu37wWn9+VMIbDqRWJDIFq117FXv0gt1JD1xUyGs\nCCZsWwxv30/uYtQIf1G5sDHCPPDbqTGyy6e+bDefmG8gjkRqLf6TI8k9HBV5\n4WC/ua+ExECYrU7ecJkzT9ZYA+K/ibR36HJ9eNzGGJwU+tcPygpdfD0+JTu4\n47kw\r\n=oQby\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCX4wjQ1t+prnKvH/VPw0QL7qoeU5SN9xmgEMyW0DPIJAIhAKodTjhVOUsqyLe9oQgEgaBwfQDt5+C2Cz5mHAfZ59d/"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-a9325d31.0_1614014446879_0.14522608319026364"},"_hasShrinkwrap":false},"0.8.1-a395e824.0":{"name":"gqtx","version":"0.8.1-a395e824.0","type":"module","main":"dist/cjs/index.js","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/cjs/index.js"},"./relay":{"import":"./dist/relay.js","require":"./dist/cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","rollup":"^2.39.0","ts-node":"^8.4.1","tslib":"^2.1.0","typescript":"^4.1.5"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"prepare":"yarn build","build:cjs":"MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { createTypesFactory, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: \"1\", role: Role.Admin, name: 'Sikan' },\n  { id: \"2\", role: Role.User, name: 'Nicole' },\n];\n\ntype AppContext = {\n  viewerId: 1,\n  users: User[]\n}\n\n// We can set the app context type once, and it will\n// be automatically inferred for all our resolvers! :)\nconst t = createTypesFactory<AppContext>();\n\nconst RoleEnum = t.enumType({\n  name: 'Role',\n  description: 'A user role',\n  values: [{ name: 'Admin', value: Role.Admin }, { name: 'User', value: Role.User }],\n});\n\nconst UserType = t.objectType<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    t.defaultField('id', t.NonNull(t.ID)),\n    t.defaultField('role', t.NonNull(RoleEnum)),\n    // `defaultField` is the safe version of a default resolver\n    // field. In this case, field 'name' must exist on `User`\n    // and its type must be `string`\n    t.defaultField('name', t.NonNull(t.String)),\n  ],\n});\n\nconst Query = t.queryType({\n  fields: [\n    t.field('userById', {\n      type: UserType,\n      args: {\n        id: t.arg(t.NonNullInput(t.ID)),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` is also automatically inferred as AppContext\n        //  All with no extra work!\n        const user = ctx.users.find(u => u.id === args.id);\n        // Also ensures we return an `User | null` type :)\n        return user || null;\n      },\n    })\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"## Getting Started","_id":"gqtx@0.8.1-a395e824.0","dist":{"shasum":"79da437bf9c359c430ab8e46e200c04e72d85031","integrity":"sha512-9Z3qJpk9uueyRdOkcHVhqJP5tMyFm6VoQ979ojiJ0tZdeGZyOg6GF8N4sEJfdvi8AZFIFK7eesf4YFisABknVw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-a395e824.0.tgz","fileCount":16,"unpackedSize":50918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNO01CRA9TVsSAnZWagAApuMP/25PMSW5M1KtI8bv05rd\nC5TF9vOwzMC/YQHFJrXGCxL145fBtd2j+7sMDp4335GIXu+yAh/eoHaw/lj9\nL1La3ya6iwsZAvbsTAsAFGRIkCuuoNkEIwGvWFvK4stsE19DTF3rmDj/thQP\n21YvfRAenrZCLbEaEKGo+H0g5SP3PMk1pZtIred8Zz4SSGRQz80lZfRKVFFU\nm2dC8y7cAsqwD2YOE5PB9pPpexxIDI8Nc5aw3A3ytGrka2HtkilwpzTfVGnS\nKQiGio0llWVzVI736uuN4J6sTO5ArmCuFSBej1/enf+5BuRMwTDOS/6v5U8p\n2asaR6sQ36yB94vTvHH7iGRlxh/TcQhjDyMQkmtFDo5WgpxE50KGwgbm29lT\nXJn6krwsWxZiZ7KIagdrKHBbKx3rTOIzkw7pPOC59gcfg/Snq9FcRYXzENTP\n5mrKgwMAZlweNuO4SlOny/8pXF5WYL+fHf9L9B/DuzANo+xVRbvjKLDGebIZ\npJ/bmhn/3sVlxA7WMbpd4x30spt9WJCt7BfUwID7IyLEmyKJALjpMCP0WC8E\nnfoyAT7XvjIB585qHy7sOJK9twzzf+XQSatExrGIyr6TGDAVKqcRui/faL15\nW2iRMCTj2oHkkVoTYQjwHKJO44FgsS+aojoleT07lx6YvKu+pslsxSEkNJKq\ntYrQ\r\n=IDZC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9mq1ARG6kua8c+y9kGfNewC1N0yzDIpHkKkZ4ioJd/wIgHcoYOOOoT67zA/2quUm+ihefDg8IJKqrdvWB3CRqf5Y="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-a395e824.0_1614081332398_0.9348398214466667"},"_hasShrinkwrap":false},"0.8.1-913ef0b2.0":{"name":"gqtx","version":"0.8.1-913ef0b2.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","rollup":"^2.39.0","ts-node":"^8.4.1","tslib":"^2.1.0","typescript":"^4.1.5"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm"},"_id":"gqtx@0.8.1-913ef0b2.0","dist":{"shasum":"36da40688e835e65412b28694d7c9597a9f92757","integrity":"sha512-0hzqRfKubwqJ83DdzGP+J8usk1B90wsfPzdMH6peHXC5GSICcTVdNa8oN6/b8GPh3eqqLqod4OxIG0n67pBnmw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-913ef0b2.0.tgz","fileCount":13,"unpackedSize":46362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNPDNCRA9TVsSAnZWagAAPC0P/iYektZy75pmnaVa37ef\n4fDrDeuzusz9q0m75qTLQ+tokzb8h+I8BQOY1IC3gX1S/KR4M+nFqlWqbYG8\n6WbEhrG+knVf3NXJQk4TRcNd8QagVSHq8uxnfqyfPjEW83AcYt6Kt5f/ML3+\nZPiDOYW3TAclKDvXqmt+xVzhYigD1y7mzYdKDivN0fmG/9oA/gOWsM4+FiYM\nsDV9ZwY1QWiqdY9D+ZnAqjXyTLibF2bUSH0pXTxGKkhe2K+z29d/u4BmjOXq\nBH/a1aJbJvCfEDrpk4givC45+kdrsQn1HM34/b5sdECLZndzuYxlGBPGIKB2\nVGNUZkzyoyu3Dv7r5DhU4cJhm5I8MukdxmGT4FtuAbACMnjialK5I/VoYSXM\n9EGs6c+UoLy0juDiWQtzI6r5ACRqJsXWr7vOvK1lVYrC+uigoQh1odOp07+g\nvP4odFuFMnDZMwvNArwoxahzyu9NUaPd3wR5cLw4/IDmo4pCPejnQnrfNwlt\nS4J1lahQ78Q6q6NUweJ+pUPxSM4pFJg/+q2elilPwYkE5UFLk/Y7wcdvyzHy\nm6KEluc3cs6Dl51wYwwGNhxkQPtCnrQ7Y3mVYI0niW6PTmaSU9CP85kxhdnq\nlt9lsPfcVZoXcML6TxKG+iliYW5ZMsRi8eMnKv9ZTXMQnKIF4U3fCvL3qIwX\nTtgY\r\n=6DTu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4RV3q5RIYsi5dRlrn6y/9mkNKQN4hNxBe+gYyzRopTgIgFBXYJjkPlerhsUBDMgzhZpIsQdGVzZxfmLUpu/rIIr8="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-913ef0b2.0_1614082238640_0.44422520656938014"},"_hasShrinkwrap":false},"0.8.1-dea3affd.0":{"name":"gqtx","version":"0.8.1-dea3affd.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","rollup":"^2.39.0","ts-node":"^8.4.1","tslib":"^2.1.0","typescript":"^4.1.5"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm"},"_id":"gqtx@0.8.1-dea3affd.0","dist":{"shasum":"942c9eeb38ff76d197e4f61603c774efdd7d05d0","integrity":"sha512-3PPd4ANkR+90gqp6L/uc6djN4rFcFbc3rRA+V9EJXXY+1NoWEbHs6CtPcIHe+wcvNUiGkSP5swUulZqloxIioQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-dea3affd.0.tgz","fileCount":13,"unpackedSize":46368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgT5ZHCRA9TVsSAnZWagAA9N4P/jNZw3sZ1h+5dJHJ5uv2\nyG0xpCErIZncURC9DFHZWf81MzwlZwfzbzr2AcWwk51NHAA5qkVRI1FxWOgv\nFO+bFoH3Jg4kKRy13e4wpsQLPctbdQKj6GTNc4KQkg4W9zAoJpf58jFna0zq\nywHrDEspK1e2u9RSi5u/WWAqmRPAFttQB3mNd00I4MzsiQ7a518zucEugyoK\nlfZjCovxZESi1FpJhi8BtuWdPKCQNo3zJ/KG6JeOBBEpBu5hEnbRLdYv4TAQ\n1elLS8pMd+oklgcgMOVieBrK07HY1JpeVIsYPF22RoonZXIiwtL7sblv9HDc\n6vUotWVDyWL/W2t+bJuSQL0S2W2PY74MtiX1RWb50mj1i6RbWta2IS4b+3ZF\nSTuiCPlzj1866PWKVsp/RZbW1yFUNGA4f/IxdRjIB1NUhI50hVLJwjtNfXul\n5ScthY01a811rN7xTmTnuKWopxmmWHFSQwns7jOZl8e0dQD01cvpwAGEbec3\nPtE0Zl+UNM6rA9apb1zvHnkVv9dCqwIlkDRV1Vl79ruNDfaYA17zpZQHG4Wl\nO53MVvPhTyOLbhBoPvT+C/kaXohBnlC/5hcyCqwd+FAHRPz7ZzGxtQTxspzm\ndjxCH3NjiaMZyVdAENHFXJeq8gnXHfGMReXc3kZuu168ITZSUeSSO1ZM0o7D\nPGB9\r\n=XdOz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBooD7tpKKvF+i+e3qDkpd2bRogd31i8OsQCW8nZLprLAiApuFIUUCWg/NrKTfASbAd0Blfxh9OB55C1j4PhgEL1qw=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-dea3affd.0_1615828551029_0.4678784132908054"},"_hasShrinkwrap":false},"0.8.1-ac533978.0":{"name":"gqtx","version":"0.8.1-ac533978.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","rollup":"^2.39.0","ts-node":"^8.4.1","tslib":"^2.1.0","typescript":"^4.1.5"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"yarn build:cjs && node test/simple.js"},"_id":"gqtx@0.8.1-ac533978.0","dist":{"shasum":"0d9c5f0051debe5c7e0f24bd610d595fb1288a6c","integrity":"sha512-ysbqaXe0WMTsYrXcrh4s1xlgAnk2Clnp4XgoBVA2QXec/9jqhsem5MCDIVGHFulsSB+tokukVYj7uFgz5s/3xA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-ac533978.0.tgz","fileCount":13,"unpackedSize":46938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYggrCRA9TVsSAnZWagAA/ccP/RhDJqF+JZjzYz5SpuWb\nG/4cCSR3+RwDSSeKuxJLhPCKuMIdRv4JzCPXsdoRubYzkYwfvP62treZhQYQ\n4LqQDK6CAA0pCM3qfun7osZTbDtfbHI7iKqZM7SfWG8pS40GIzGCww9kXi4C\nlOJinY4/chS2ezI62djpbgG1596MP+MWGHNuqOTLxZSDJUxn8x7Km6TvphDl\ndYVW9oYQvL0+vx6tdSo8vBGY0jagEIajfmCdSnX7PhplvhLX1UwgWg0+S4nz\nI22q5Zpqw/vzUkUJzffrvC9sO980ld740HftWrcmwrUKkaf+m/7dclf4M4BF\nOKy1k9Bkc23LfuISvm3kLYt42wQhssNSTTrQIEwcaDzTMziTlAsWB6I9eZAo\nsMlxNjtTMAbg4gHWRFonAVWfeKrEBn99LTyeFtDT777Ofj8bP4PPOf+tYawe\nzEYfBkk5qTPxXc2eX+CHauelwvx7Z+GQz56kAtqTMim05gAKZ7rJ9iVrYGnk\nsqXo9mPIFLo+pZJblE3AiiQIi3z2F3hiCV2lOWaUAZlf1vLC4JvUsF1sA+if\nKPnCqE+m1n2cW1FZkfCAuOuoNUIx3jFoZ4PzFzUN1qiLN0kraxy5kuYduc7h\nfs5fIcvde0e7iOAG+tjTZBzwCpA79fhUhE1tNeMkZVir+V9N6JeCya6dRU9J\nJxUR\r\n=g3ry\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE/h0bXaP8bquZy0g6YlPwDSHe4Z0UngUDLSRWKdr09OAiEAyRL+p/6itmlwvVTtHWLtjdRdJLxToP6hHUiisUCFJ5w="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-ac533978.0_1617037355046_0.04221192123890183"},"_hasShrinkwrap":false},"0.8.1-1b4add73.0":{"name":"gqtx","version":"0.8.1-1b4add73.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","rollup":"^2.39.0","ts-node":"^8.4.1","tslib":"^2.1.0","typescript":"^4.1.5"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"yarn build:cjs && node test/simple.js"},"_id":"gqtx@0.8.1-1b4add73.0","dist":{"shasum":"0250e000c41f489ad6397dd6ab5239e13e37d9cb","integrity":"sha512-sLZXGgo8JeCW1qBfRw8Y+gyByevvKdTLzw3RpnlUE/KfCme9J87qDAZPOc/dFa0dOA5zfGZIb4211thFAQ579g==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-1b4add73.0.tgz","fileCount":13,"unpackedSize":46944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYghuCRA9TVsSAnZWagAAvbcP/jtFFwtA/DjMi+EaVUVr\nr1YvSslDz5MkGgQpl1vGbDwKvgarn9qnX9lT5b1PGj2E42FphDXBNZn1bHxb\n/Eztbhq3wBCVaQHndxDZ5h5g9ptuPPPc0CkRQIYBQcc+cX9Lfy17igyac/rH\njm+58RLeUCYxsHyvb678+mM+ZrzjMpbxZwkeRU7fN38YHIuGoiP52zyjM/4B\nJzjMrP7eAOIhVKFM4WjooPg2VxoBGwdXiwsw8h3npWwWVCNHLLn3cycelBwH\nzVouj841poqO+XHp66XMpypyq5wvYqoLGFkBgZYuGePgCxKTUEnCqG7N9MdH\nXTewWMGAstf7qAorEl45L8UVpXW/5ji2+HoBQhsEpieNLV5Kw5TG/+d2WQkD\nofToiW9KZD68N4wsHCjSP5SoNII1SFokmgpb9d9UQRaZrAz/phQaXxkcwI0O\ndd+dt8ikg2TDG4klD7eYNgdt7YO69/OFKBBaMI01yz8QIrJevOnegupihZKq\nwZP9e6ETf7+UCyqLupjsa/H4RerEJhunGy5mY9MIifLilKO1ZdUQSAe721pB\nK1xqPPeR+a/9xPJtGXfE/iY955ksZ/K3ul8OrOGjvVa62Uq5dhb+QA8Lbjyj\nMzyDwNF5gfpJicFYN8XtyQOoRiXwA8t6zPM77+K6v9qp65V1SO0YdJdEvmH2\nSjBs\r\n=WrpB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCk0iHdC1SckKQKNemXeiTks1bRYt/ogZbDRvGL+vZoxAIgChoz60/E9thU+si/9lSy+hsjoLMs4TCA7c6hix9knOQ="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-1b4add73.0_1617037421972_0.1805447389613899"},"_hasShrinkwrap":false},"0.8.1-fa8ead4a.0":{"name":"gqtx","version":"0.8.1-fa8ead4a.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","rollup":"^2.39.0","ts-node":"^8.4.1","tslib":"^2.1.0","typescript":"^4.1.5"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm"},"_id":"gqtx@0.8.1-fa8ead4a.0","dist":{"shasum":"9d01a6e2cafbc5c353bac47393f8d07ed7f22ff2","integrity":"sha512-i9nKWMF9z/PLPb9fQq51lsIbpPRPY1l7fxXw2lnh23+koLjheWME7tnY5AtXIShprvVlZJkjfUCKl/D1eunkGQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-fa8ead4a.0.tgz","fileCount":13,"unpackedSize":46457,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgu+HxCRA9TVsSAnZWagAAw20P/2SHD1LQic0mwAm8zC+t\n7vaPMf9JV/ZGNH2uF/14gdQjlMZxjb6YvoSfZmCLWP+S+RXClI7LZYg6yLGp\nVr3JKEx6OWGE9z6uu++ig6JEBuY90qQV4xuljPnHd/iP73dkvSMifMfreeUl\nww3W2v7OmR48y0QUfCMMjdk8s5/G1S2lXaM6jZ6hxXo54YQGY0dSNOFyXk6M\n2uKhh6cFcryn90Y/otoN5+4iM/EvtMTKSS5jTMwmlrjRnrQOC4Q4n8Wf5ev2\nqtxaXyAYGGTp84iYGvQAHELsEKWRAZaj3mlGTsLcnA2GsjbrIucA2Cpr2ubC\nPMt2U6MSQ4vjk2kiaC96s9yl9ts16Jog2mIPu17T1cErs3xKaVa22GVgLrJS\nX/rnl5YDBHO/OVRryxjE2IJwqpDYmx+p4mroyUPT+d4Ci19wz9kQ59kaaSzd\nza0P7cAVP1E/uInfx4q2az2f25zfmwhyrEGmh33CvJ2/ibSBia7w6PXzNnHM\nnBWLObUVxfqvl6NzNWHcnTgDA/DdTkuNKYd5p2RSMlsjOuxFCRrIumA2J4U+\n3Za1awgHfqQ3drR2/ztTWbl8lhuIz68m1LWoXy4UVB5EgyT0SCMYqMcnoK4z\n/FYChfMISNTh1AvRheucgw8WHnXQXssxj61Xp7kQLP7Lk1oR66vg87wN13zG\nmDhE\r\n=6Pam\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2bm/9Vptuo+VoroaU3d0zfHPoshUxuzxcaBkM65WxXwIgXewdUBrrpJKuzuwKPk72f/taTK7fMfE9is/+hZVYbFA="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-fa8ead4a.0_1622925809082_0.8403155116743053"},"_hasShrinkwrap":false},"0.8.1-cc4454a0.0":{"name":"gqtx","version":"0.8.1-cc4454a0.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","rollup":"^2.39.0","ts-node":"^8.4.1","tslib":"^2.1.0","typescript":"^4.1.5"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"yarn build:cjs && node test/simple.js"},"_id":"gqtx@0.8.1-cc4454a0.0","dist":{"shasum":"49453f6eebdd9e044a61154ccded0fae1d12c544","integrity":"sha512-F5e0FPM8MIerAmUgNIS0si8tyEjr34V/qKdl+Itb94VNBPNg656B6HQcMIdYf+sGqkHTlFBbI2ZhhbqfaFgFsA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-cc4454a0.0.tgz","fileCount":13,"unpackedSize":46983,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgu+JoCRA9TVsSAnZWagAAEBAP/3/uaMbZzle11/pqAPr+\nFodJBZrRL5gr6U3It6X/Oau1L9dZBJD7IW2m6yp95ZdTAH7jVR5Y8nQmceYh\n6gzvEO4p5zWswx5rgZ8zXFsAPx+pcA/4VHLYPhmNg45o5fEJ2Cz3N0U5ErAB\nDUXxZJwOyqwvzMEwp7PPaXY/05u7q4/JXA613zGw7G9pWj2uW/oQV2Ir4hmK\neLQBcBYQWb+N4rM9My2x2zeRz/GxGCR9KyMg27Tu98fUQBtqz3fgggFcgJus\nzZR9UqJt3DiyTLgKJtMQmyaNYJgyRj9s8BPNgKqCucsJGmZcBPCaBah7wJCJ\nUvepikp25LdBEGLBx017hA0lfiwGb3ovg3dI7CjeOsQs3L7HQy9eXsqoVy+A\neigWeEZvn8E7XgLHssVQ3gq0eZ050iCAX6IV9/tK7tKzPq5Uo6ODpW31jFRB\n2ZxiCCM6lJrblJNsid9gOwqpX2Kf5oC/nMPiesPjBVXeOQbLOdfYJ+LhkiwA\nvvpTWxnj6aU5PW+wRnC2VnXc/RN/OhPjIFmPf68olNRVmaZ7yi3LShISmTKS\nN+Uxff4k6Ae32lnVPrt/Vqr1iHeoV+w64fwbt2W4iwKYHHX1kdqnTPAjTq4V\nD3Tcz0AYixMq/rioZ32ktq3uGJw+mXCtMdUAqjZz0czveduKwGLs9nOCtd3i\nXWL7\r\n=5wPZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDH3yk3J/Uf5rTlOwj7S9KkEnsB7kWyIVOwmUC5heEiBQIgelaJDk0fSdbEb0bGBxF/WqvyOwuRZ/wSuhulBKQN/lc="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-cc4454a0.0_1622925928605_0.46222781573554284"},"_hasShrinkwrap":false},"0.8.1-f4332114.0":{"name":"gqtx","version":"0.8.1-f4332114.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","prettier":"2.3.1","rollup":"^2.39.0","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"^4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"ts-node test/simple.ts"},"_id":"gqtx@0.8.1-f4332114.0","dist":{"shasum":"20b9ad72b4e19f70b9d856143a24a767f785fe54","integrity":"sha512-i4qj8ykP0iyYA1mnHQFG6QXM7f0BHHm5NYbWsLuOaGpxrhCpkoMDqDDFCn+vnwjUptA8VRfJiTlsSBqLJSsWbA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-f4332114.0.tgz","fileCount":13,"unpackedSize":47425,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgu/I4CRA9TVsSAnZWagAA1JMP/RphPFc8nXPOSURtnjxZ\nRUlHGhyQGt4XHHTuXb3HA0QcMCdkMsfJsluaYyf8EkaOOGoV1xoIOlpDruQx\nd5E8BoSFNRI8juW5Cy31DFSbpj2P6HyK6q4hcbK1381KMAZ0YxfpdUdjvI2k\ngWcZpBeLFD5wnG5Ie4lKcX4z99Cp5uBzLRXGR7iArKbYXE/svUUBP5NPBSwk\nLrXnJRkUZ9krqJDIX4XyppUDW6tBCc5v92zoAU2fR9VjzNr1TqRCYpU82qJ7\nyezMM6aZw/kuM8ibBSitjJGlMdlP9Mm1oPB12ai40u89SvQ4kjgPx4j2nXvw\nNulnXEE9xTYwWXR+3bFRFyJbL+8oymXUS+jDQb1JI++J/3v733Jn1mjCp+eU\ncOzlwOgcUWPfII95CAArJTHy+Mk92t+KYinLjJay/A783WIZWDhZXY/+QQPM\n6JyjZ8IAgEinMb44pDR9o01/8CnBYI18GvPIdpGCT3dN3C2n3oloFV7fNGoW\nuEj1WCPshk30bA8b2RcYL6xIiVj4S/+vFCxDzDfg+X4KbTQfgaQLlhMymcjT\nGgVO4oQ1Dehw2qJjcHblS3opE8hjEOyGIrbeOtSca3pzrARLH9z5ko1cyfyT\nG2O6meJVQFMXDiUhAXKz7oCb28KvssP5Lvioki9EKVKioSPa0pj4hgv6NjBD\n66i9\r\n=NFeY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5yGLOqqElKNniE3i4h4TUtu8Cfc8WxPsjUy60BJZSSgIgA8Lqrpj/wWLuMuSDwq4xZu37wIO6jo7RcNrS9QG8+s4="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-f4332114.0_1622929976733_0.17538984902407928"},"_hasShrinkwrap":false},"0.8.1-0708dc94.0":{"name":"gqtx","version":"0.8.1-0708dc94.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","prettier":"2.3.1","rollup":"^2.39.0","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"^4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"ts-node test/simple.ts"},"_id":"gqtx@0.8.1-0708dc94.0","dist":{"shasum":"d9aecb585309496426e2c0d5915a196fe39cc323","integrity":"sha512-pdb+A5k7QBIza2TqW16/6EyA2mEOFbzNeAoeeXgAkety+0tVZCfiXWv6WY3PzGQNJCdURtv6QK52qbyl1/5GIg==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-0708dc94.0.tgz","fileCount":13,"unpackedSize":47425,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgu/LTCRA9TVsSAnZWagAAqU8QAJI9c6qh4is/l+0YCYJ6\nGA8HIa+adQtBOAaV0mwX+sEwSMW7JOK3SaomTlqidfK3Fvjazao3cLfjTMys\nQ3cYY1PF+1aEURCPH+0XL9kCR7RVfIMwTSrM1cz/yLM1b45YocmQLotsCOgF\nhqonSzDff6CX841iu+iaRaVwdWGFLarBU/VNyE1Pft7rtEro3Y3V+qvZ7Gee\nTb5K2aDQVUT3/BN+TFaGqcF95DSm/a1a8dG/8rk/2KyKf/ehkX3u4nhMBoN5\n/vFThNLAFzPNq+FOvA95eGPWvaig6qZNNmSjtDk/i0AZ3G52sc08OyYG94IH\nhRLy36dm2M2KuDDj5zOXhKoEoOWsxp1aeIEyFL8pyESCT4rBs77WrzPjiRXF\nRr52PEbTmHU57X9kyYT/rthxdO6YDbB+auGhAJ3b/W8v4wfwgkqWs24k28lc\n3JVKLwueJ0R5xID7vRIMtIBEquAAssTkm/9+ijvZRslBdX/8+LOauC4nQDP/\nL1vJTxSaco7xMAAfsRLg/Z0oJAhKc/d0Lp0ikXL+9hcgNOD33zZLodtGD5Gl\ndx6PST++lhgasmZQ/Tdt4SPmloKoCH0qLRLToT0TlEkLOItAlmieuggWtYEK\nlxRl39B3Uir6zH0vsmF4Kcn9QuI06d9xEERI8qsouZfd8p2TvtUIdV+So+uZ\nrCM2\r\n=2aZC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICE2F1rOEHMB5LyS37l1qQRuzoHHZVVQ1NBfxGRznfejAiAF7p8VEKgejrOyguvhiRqRgq7JNE1mmXkGAE5WYsDTMA=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-0708dc94.0_1622930131278_0.6438773790443486"},"_hasShrinkwrap":false},"0.8.1-5ebc7631.0":{"name":"gqtx","version":"0.8.1-5ebc7631.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","prettier":"2.3.1","rollup":"^2.39.0","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"^4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"ts-node test/simple.ts"},"_id":"gqtx@0.8.1-5ebc7631.0","dist":{"shasum":"d0d811846b6705be5dc22a14b395d9ea6395d97b","integrity":"sha512-uoGVmf2ZZp9KZbi0bkuK98z3Za4DT1yMuyWsSgkw3SnbchBGPdIMXlM9joHbouliW4byK1s/vAtmGJsUkk6r4Q==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-5ebc7631.0.tgz","fileCount":13,"unpackedSize":47425,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgu/N2CRA9TVsSAnZWagAA+d8P+gMoykrcxTADlmheJ0Nh\nfWe3/nRwFpG8PfxlXVHShLSlX8G7qs6PeA5GoCV4LVoejILRZS/1Ns8DBhWr\nWY5/SBm7dPBcX9xVRVDQyX7/qA1yVNWRX3VAiZz4j0OkCZotsldepuYpDsKE\nbHKKUnoM74EWvuvMlI9mW3gdazgQ1HBDoY4ZE6mMLhqgTwGfkCYC7ghslVFq\nO/nqVjCk0TcItkCZ4hwCpRiN7g4RQLPm8M4kxBsb6jN9dAql2p5pEsOWXzTg\nn6H+eOT01tLLYybFYoH6BCOeI4g9x1ElZ7AHXZoTOXF/K63wM/LDFPFszGCz\nQw4I2ijUqjmJWFfdR2kojPA6UYyH1ZiUuzVDqaWRKujwKbs3Ia49Q4BS0AvB\noSWvjF6YD2oOC2ygZ8POW8cmKNc3Yg6t9cVRsRXV4qamDVJfWMLuS1kA/Bql\neNJHWDoJfKJVTT+qRpbpH1IRVrrSGAdU3uYLZfvHxH6HDQSQfNdRsrmiRKhX\nHJUpZ9Z1vqn15vsJeQiwCJDIXCuDxBkm22T2uixYVXWOWuCo1OdUL/eVK0HR\n52364EqQ2b2gYPHACvtqPA4vIIbS1FoM9Ugzr+2skhIncLQMSr6swNg8a0W6\nG1TevclENrVPHI9bToGbXd5oumrMyqjxnxyF91l53+ngg+bzzNzXK4hIuMnB\nLhrT\r\n=oMEp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHzHYCiSOT1YT54sSAWqqsaZEf6r/HmfV8kGEUMhC8IjAiAsC62YBxMWbhoOidAFvlRS11DPnKHEzCNh8s58bF3gUw=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-5ebc7631.0_1622930294208_0.4717399005457341"},"_hasShrinkwrap":false},"0.8.1-54deec7e.0":{"name":"gqtx","version":"0.8.1-54deec7e.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest"},"_id":"gqtx@0.8.1-54deec7e.0","dist":{"shasum":"3e212f9181ebb59d816befb4634e7b39130b2495","integrity":"sha512-QfJ9d9iU8WPQXLDcpH/5vI225zEBBPHKa5UXSsGXwt4dZRQoVw7AWti4AkZlo95x8rbRnCziI5SIQzIZzMlNKw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-54deec7e.0.tgz","fileCount":13,"unpackedSize":47483,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvLQaCRA9TVsSAnZWagAAje8P/RJytEYu+/g+1yTpAN1j\nylS8kxDViw5PNuoXZlLqlRG3NdgkaP2nl0mw5PQfJkdB5TD7f2D8jHh1Jnnz\nCxH9kEdBRHyYqaDmz3Oa0eny0e5zaBUPkg7qqmnEFfb7WDLvwL2457TMSzGM\nyFwztq4KsuRCiyLA0NZbFfKh3X6nq/C385+R1kEQ4SXESaGhn96oKOvxATQf\nQYlwtTZeRN7vloLrBZal/EbCvQhAkNFNM1iULPXZCMn1ITTZQYMs6RA8V4Hf\n/OZlds825jOsYqhqxWvYkwlzQZ/mSPXQ/zUd8Y6r/xYsSc/7moUKgYv4bp7j\nSgYMRXGup5E2IxOanXveRT+uB3N8tzaF9SkaL3tLpxj6aIw8v9MJliqVTijI\nwHZIkZRxWpCV9+dFjAp9BE23TbZlTRhhozZp4CLdfUggm70jDJXpQx9DmdkY\nMEJre9QkTkqDNWz9rA5Y/4qCA7ZaQ0m+J8rbNtOFLwY7B0oaO/RE0lopAr5S\nYVw84FC97CGcvxsMEpur/utPzrqjqFfSuXxroPzwyw86/JX2xVxvq+8KNX+M\nWApWku3NRiu+jGZPZeFbQNG+Vx2RQK71XZZyJxIQUhZYWxzng4i8PiyGplIT\nngyiV4A//qv0AczHjBPsLghS48VmT519CVvrr3IRhz+tGzBLGM4xThfgLt7g\nLGb0\r\n=BI5z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmgNFKtIeBkt2OREEEehVXJJytahOkFH2RYHc5zjGoqAIhANU0w7CJERupFeWvwdyFvvxFafzso+Qtl6BUgwGe5yPi"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-54deec7e.0_1622979610214_0.6380583223365999"},"_hasShrinkwrap":false},"0.8.1-49644f7f.0":{"name":"gqtx","version":"0.8.1-49644f7f.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-49644f7f.0","dist":{"shasum":"21e59ff41431b0093987fec8cfcf9c9cb2ee85ea","integrity":"sha512-CK2+zX/DL/7Jnw+ffb4kI0ESRRUhTp2YiH2oqVdoaEP17i2AqlkfqkXEUROGMeUwCO1O8cfN3XqP3NJCIwmGaw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-49644f7f.0.tgz","fileCount":13,"unpackedSize":47541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvLcWCRA9TVsSAnZWagAAsQcP/i6EHYZclO7qVFhPAI5V\nkaMaeEK+WOIpAmaF0Mx1OIsPZytHDuDH403o2krIV/X3IeX7n0e1PQCBsYDF\nr4sgnmOURKaeCpgUHYG/bRfVPXhqiVb5wfruWMkcABA3KdhKlUJIcPi3oL1u\nF6nAEcLpzR/VwCGQVzCOLr9qH4+aAL8u5T8SUIBCYbWwQe2SXSIrWnShBLs0\nIddzBu3cuiGm1kmJD8XAhezegFvyvaPyqiTkrmLsttcMBHd98ER22XtBMD0X\nRa0Q91txgbug/9VeVq8UVXvjgtk/1s34dQsn9rFY7OQF2FEz3KEoXtDekE+5\nHpbI2nRWq+e9492NWvA76gHxgji0Qmg5HAUPOYfwBtX8+WaEoRxtQWSrC9vi\n5uVDFoAYtRRhnTSUQwHQjsE6Ek83tnA3wjlQk+f/yL6pRJ2m8OsgkQnFD8E1\nxGyfYQERw72MCxvJTyqOCRdYT1srPlLKkJKbLzsIMI+HlXH8yJbdP8Wnm2Mg\nBasxna/QHjnMXWbVXHJPqSMImR52Mwt0B1bJPf3RlXWXR8QjElp47+daCLLX\nRggjwj4s4vbnNEbChbVP/c6EU1jKLf7y7eWPYKBEUptMBJzyT8k9/F/EYTBM\nQ7+fDI3Cz7O7R8Y+79k+jGNDKVblDA2/T2xvojjaGPVDoIgIY6P/Ou4JnicG\nC+Jn\r\n=4Qse\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA69dzoCXPHVm90sg+s1lgfBFGxx+N+PBqNa3bf/zrSeAiAWgEwN0HcJ5Zhf83l2Fa9xbYQlnYFqZQMZUAA6F9YG+A=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-49644f7f.0_1622980374797_0.6494155278588454"},"_hasShrinkwrap":false},"0.8.1-f78dc66d.0":{"name":"gqtx","version":"0.8.1-f78dc66d.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-f78dc66d.0","dist":{"shasum":"cac7a9db2f3cbf6032017be2436ad37fb425f5fa","integrity":"sha512-zuCG/hmPXLPvZJ4SH0Bn40AZZDx9IAZu31jDxw8iyHJ7IBubLmUDhoawQKYcoSjD6X5dWCKuH0X7fw73pKb7Eg==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-f78dc66d.0.tgz","fileCount":13,"unpackedSize":47541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvLlBCRA9TVsSAnZWagAAlJMP/jREwQoQ3d3wGVk7v9U5\n2+bQ8gfHEIXOvZjdvu4QTBGfwzGXPPy3C0yYdzxzR74keM7ofMig4XbLSy6g\nTmL0o4ekIeGkb5FDkOXatFhazjCkr7or0K2lseaKTEiu14BoJbB8dk4jYJEG\nzHrp2sZfRXad0B76kq49JFj8fKekzu6RVRwCa0U6tVXb//BIRiYBSz7S+qUy\nmGLzjitTEct+6TinB/Mnjk7ojOM9mV8c9gVXUq+V8EFPRwUGtQqioJDa1W0a\nsEc/ZTDDROwSuuQl2TKkKv1RGmxxAL0k8EoRrdO7vjYUfmmtwzu7NPVgBT6r\n6doWJGCmyIlpM+rtxWmfMAH7PPO4ClH6e3ZZto6uVThW34jPbWlbUxfy4s/O\nlAKXXNFdRSXWrol9J0iw/W/5pbmSBJf4uysQhVLFJXJkOSBaSzUA8BeEORm+\nwYyMbOC6dAp+pbKxTWD+pxj3OBKbrOtrDAT1kO54+xPjt3EIvwZxhkBpvilT\n/oHXCoHS3tHXpq05yqJAxKZ9aZdkWbi6DdKE2Ct4wKuPr00JGRJzvmqhuXat\nMoj0Ajufs2aZeSOd/MENcNWCLIDcSVaffsiDIUDhgB2xX40owOR/s+oulHZL\n6soa9kejJSuzP92zTYl4n9dHdo10k3dEXLdgJw4kY4sVnF9mDTMJcfCqrZeL\nshAy\r\n=0/p6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA2hyyoI16Egtd8DwuQcZ90mM+TdwUMOv5eldb7yyg+AAiEA+F6ZsCCfbqx7p6raFOVDRmxZ6qugkA2sKs5LiAmqtvk="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-f78dc66d.0_1622980929332_0.43630735165931256"},"_hasShrinkwrap":false},"0.8.1-684296a9.0":{"name":"gqtx","version":"0.8.1-684296a9.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-684296a9.0","dist":{"shasum":"ccdb87e6cd8c8599949a7aeab0cb100718fe0733","integrity":"sha512-PT5A9bkeZMh1vBVFf1PHh8L1RZZIQ6oTwB7ZWB9nPGN04JwmutSD7DDN/AeNvXIDwNl1uO41UAgx6VNKb6VMCw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-684296a9.0.tgz","fileCount":13,"unpackedSize":47541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvLliCRA9TVsSAnZWagAA9xMP/3yuyFHaXMEKjmHGHEbv\no33NkmhPABTuI7LXqkFhzGUHkOG4P5/o28q1p64BeGg14Y5hil72dbnoEAKN\nZwpNvs+K/28ew2UuQHweNEzYUKTuSQ2qiMOenHU7wj5ZVa025GsCRGlqE2jQ\nebfYHTlSjZyhBLp98qGhJBRTqxNuJfh/R0NlRXo1SS1b6b9aOLPGY7ud1gyn\nAHilrU3g5QS5mE5WJfy51j3gwJFPOM58XJWXkaXdwnuBs5fklc2FR+XoTin5\nGa7dc8II5GFKnIkxkQS8uiGkc0DjkREe5MOnu1sT2eSy2Goi7WGYMXNLWDyc\nGkZ7GVOSThI6Kny3YEoChHxw6ddFDUbG1N5A7K9ddmqfGw0fzV7ADBCtcBIQ\n98nxWb0n2roiNpMOko6nv/AK1dMjYOllO8o/qIYDIHpdBP/wiHTWa9lfe2BB\n0YU6h0735PJ4HNwkREWGC9qHUdrs/jrOOx8/FIXc8zbfFVME4e/A0QwZJGyE\nSzmdH/bkc3v7rKlq+/gfXeeu2NMOFzsjbs6wnIy6iC0Bai7GUjYyeAdPtqdt\nQ92Iqin266rvoSvHI1uELyVviiTCQ/NwQ7RCmuKdXTAimOGThcwPI1FRfLkV\nInSXbbmNttC/cO3yM9atLwNy2qm3Olui+8ucGD0nFp3U4+iZimp/h0UyOiL1\nRljA\r\n=9Feg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1myXyHjViWjQa1wklSJkg675/44nWVOyp6QGRg1SBUQIhAJiRmbLIom+gsJiyxNipsyi3ViINmhDtuK6GyWXtQFlM"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-684296a9.0_1622980962745_0.5768100464895678"},"_hasShrinkwrap":false},"0.8.1-f6e42aad.0":{"name":"gqtx","version":"0.8.1-f6e42aad.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-f6e42aad.0","dist":{"shasum":"d55d51f6921b8ac946f67c4dcab18c20db6a87a8","integrity":"sha512-VbJvoVNg36jcRAc7aYbDfKtLY7/MvXfuXvB+iU/iod/BVu6hhSY5leJ2KS/+w+srna4mquwtdTsdCWStK7jPXw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-f6e42aad.0.tgz","fileCount":13,"unpackedSize":47541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvLtSCRA9TVsSAnZWagAAF6QP/1xigKE81x8wDSYs7Y9B\n47JCx688yJDZO3dtXKvxIAOZidePSDW+gjAZOjX/KujqEJTZ64/DEJcNDcx1\nmzRBX1Pyw2mh6SpmGHvHvHfS2PWrLuQ3vjYHcr8ZB5g/mdXCPrgFMY5hB0nI\njRAa5TSZSysGWmCmijvF1vTqjiyrpZzxzqFuT7RTSWOWRwyGq4incR6XZ/lJ\nfA2XJNvqXxKEjWKQtGntHvr4GmCEfMwcQC0Fh7tjlY0K2BZql1984SMfhURP\ngZQt8jFj+4yzOelo+GllLwxLWD2SDHssAQGBEDclxkfaQ2/NAingolyjwDky\n2+aEXEMd/zu6G9np5lKvAJtKe/GmMfhXSJAu3ABmTDs0RphnCEEW1JCdvLV9\n9RNV5wTShMnXcBtAFWf+8/KTk2uDcLEQT1+dV7GkUXeFiSiKJ3od7S4sEHxV\n4vi1WBqTwjPDRyTCZk4i5VVwJGDZNvhKrzqiAJBU3EwM7B6E4rUknrsX2GMW\n06gN5FR0+JiQ7Z63fPqfN2+zjE4s5fnDBSB7/2W1ofMf2FK5bHGZxP2kArqX\nFcvGEnxKIcXAjpglQr0kDUvfYhKfBKaK6SIwVqvLk0lr8RSkM+kkeiAmO+Q+\nAYaRpJFXXi+69uVzF1AHzQkwI6LKGVKC3r4e/Gb9d/TWvYkAJiHMy6xEcltC\n89Qk\r\n=tjX5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDo3t/XIcPF5K22VkusrdsErhXLomqA3nFjAiLGogUgbAiB5N6jCBH+VyjMCzJPEL2BGPgbtlr6cO1hZIILWpIUh7Q=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-f6e42aad.0_1622981457997_0.8611692622476315"},"_hasShrinkwrap":false},"0.8.1-d21f1065.0":{"name":"gqtx","version":"0.8.1-d21f1065.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-d21f1065.0","dist":{"shasum":"f7854c9ca1130269a9d38e8b17f8302a9f74208e","integrity":"sha512-0FexcjrOu0rsdALgowuOI8rB/DJEqtd5RPr3kHSKEjt5c30JaHJXqUZcxf+HueE//ldWEOHQ332+/kR4Eqr8IA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-d21f1065.0.tgz","fileCount":13,"unpackedSize":47541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvLyGCRA9TVsSAnZWagAAmsQP/Riwqa99+vjHInTYxY62\naBK/o9EqMWhgzz/mBi1Yyf9TJyZHVG5qWqcfV7cw8UOsbb2qIXZgjxKVqADj\nDhvEZqyyXWmiy6nb2D6BlwmnsNwKakoxq8XVoAW2bOVXwZNKU7ayMtqQSFpV\nv5vuGvGralX3KvKyuik3aQoVLRt5foughVx+4lxKeisvR8aJX9MD5PBT/NPv\ntzzv1Ks9Eup6D7ZxBpeDIMZSN6EAF+5TWHO8s1yQWEeI3C6IwLgbGW8ClZDO\nWgq9DZAYcQTZ8ZMgJr1kaRspFbbtLFiJBDjG7WLZnkWMIKARsAyXe28FAAND\nEejSpZD5Ek07A2mbuXYsUdSQ5GkDnNbyVNCD5McEgToRA6Oyh+dVXLbg1+Sf\nq2Ht4+bYFKnb1BXC6zkiIYIBoqts2dROcW+ugw6vaDoPtQYrG7AGmRRyQRfl\nDDZ4ZA7XP7lGic3f2RbUEpIZtSWHd3wbiQMbi2LjDkAgfSZE001aDjHuhBC+\nwyCU9Sj0LG+ekh8EgX4sF4ty7cC7MzxxaHMmbZODiWR0Y/LiS8S1meRCBw2B\ns4Gu7reAXb8XooDYwypagJy0/N6tiWvgXqhA7uWM+6ydPDQi47C15Zwj9llt\nueDOzZy82U9Pn2IjGYBZq08VhFVq19TMWn+mIrdiZWztPpCdPRjHhDh97O1A\nxR/Y\r\n=d6rt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH9K042kWw1TiVpmMfNqA5APBTeAXjhw2OPXyxXsMZ3/AiEArW1XoP9jHW7HphZ+39ygrD+A5jOkVgSNm7bVvb0Yu9c="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-d21f1065.0_1622981766436_0.7113496351633144"},"_hasShrinkwrap":false},"0.8.1-d8783c21.0":{"name":"gqtx","version":"0.8.1-d8783c21.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-d8783c21.0","dist":{"shasum":"126d1e2d3b540c12d53971c1599deb3b60015dd7","integrity":"sha512-grZK55q+t57hyy8h7W+XBFkdbP/JB2Gv1vZdYvAVcseHh61L1kXQT9DFHcgSA896ygDLYfA8xDtTixSjqEraFQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-d8783c21.0.tgz","fileCount":13,"unpackedSize":47551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvPHHCRA9TVsSAnZWagAAFvsP/2/j8XC0YOuYjJR0+Uqg\n2fWzNilzSOV/74d61dY4B/iuBdmG+XxpyTA6NsSUiDy67Dz7ObfSWvum3xng\niIadMEwmosH3FXnx4mguNBPFFBOsVPswVFa8tHVr/7dQqgIEr4sbCA2GxfWr\nyItvQTmZpkkKF14G556HFx7N2FCHMz7KZwc9cR3pBCoYq41CV0+UWmBwZ6kq\nSa8iDfwn8amnRqCTIo34pYVJn4dpuJhXezVvBCFifyFnC3M1UUJJFWhDDoaH\nLB66utzohBUAwPT3ZElK2oMd3xt50JZBGp6EAbT818WD+NnF1G62V2r8mqyc\nPbIRi5FkCSOlxKUaRD7hVPNoi9qyi0OXX2mBjhvHT+mBCI8pc7WuRgKTW+tF\ngp+KAKjroNtYfcwsPdgU1BcIGz72vU7iNxLSxkOR+J8rYo+yjZbKZUevXCCJ\nUBOurOHUo18Tg8hoUgf6H4TvzyAxzljhZMeaTdq0F7vr0bmRxGg4dyxBeIVM\n6LI7rskWNqXTHi/RtnLSgItJAcTsFRZiOU1oqa/LyhPft2EuCvb/PRGe0vz6\n4XgsX7aH/T3dzHjLvoGfZpMx2nywd9R/1UbRJ1ep+yw9YQuwsLFePhd4XaBP\nbLI9jUgHWOjwILJAw3dnpOh7Notehzo/ER7fSbfcNvuJYhqOLUcUsS0m7ITx\nT6MH\r\n=l3u+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWwjD0vx/dF7wVMejBfFgPOPb0uDsd5gIR5rVjpVoDIAIhANmiAd4+5lDERuPrRa3GZ2PSrrhFHefZuT25onuuOwL4"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-d8783c21.0_1622995398868_0.6538414924875688"},"_hasShrinkwrap":false},"0.8.1-4382fc73.0":{"name":"gqtx","version":"0.8.1-4382fc73.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","rollup":"^2.39.0","ts-node":"^8.4.1","tslib":"^2.1.0","typescript":"^4.1.5"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"yarn build:cjs && node test/simple.js"},"_id":"gqtx@0.8.1-4382fc73.0","dist":{"shasum":"d0f92bd2ff8cef1c4d9449f17f3f12c319255a45","integrity":"sha512-0ZDT2/eTUFl3bPCQz+P0OIwJfubqfZ6k6CE+wWbKvjX8zBH/z6jAeGC7kbIWoRRriPMi/k94v7DXEKi0ejW0KQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-4382fc73.0.tgz","fileCount":13,"unpackedSize":47264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgxrzxCRA9TVsSAnZWagAAqLIQAKTH/+8Ki8K5o4mXvptX\noxlm9LHipiM3T7m/pn1JooJz3DXt4ME1U/3ihfDJmwooZ8YbamyhiCgkPWXj\nQugeE+iVdglNHc93kaCvOGu98FMKoqGTN8xFEcBvIlTl9BfN4upPMP/R5vNn\nejWTiPIJPHnKFwmCIqj8AjNEr6/MzkUe9707eRrmF7HloDrFbEqMuo38nwFB\nvt9Q2FxRoPgqT2ftDnX+MAQuLPSe0mMyPFrX+9nvmk+k8+wCXHO2rH/ELx4z\n6zWE6k4StwQK3B0TjSAOSywDTm/bLg19cGQQwIAE9BJCEMleZMXO8fLl3vBi\nw55SuykfpjGE5PxJU9Z10pWXeg/YDEJl7qv3AH+XvWbc0SIsQEi8PHSWnb8F\n+9CFOsgIZF9CEtd/yGguppnJdbWcNHxnyJJ1JjcIzhTpR4SU7mnJvWDksRcg\noP5O+UmlZC7rtIoG2symCpx5Dv1/UtLySgsBQ59GgNoAwskQf1eGjlUnVV4c\nXCscvNv3N2K+B/U+S2GByKxbbJ7gk9fG3k9YRq/7YQpHy4cds40TTGVY3dZI\nFEWNVe6JeINp20j2T5iSWzdc1YPSLVBl1b2wR+wI+JCr7fQ+5Yre/JzZNpjc\nT9doOAvXiM79bFoUFYGTEMDqMo0FL6JXhIgbGDc/FTLwPCAm6gQNGrsW//CY\njEcL\r\n=0nyf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICmIFkYEKPn6sGcUEavTmj8H2b0ii/Pu0JJBaE31WtT8AiAwrgv3ulsGI1c2ae5XIRUwQQ4q4n3Hzp70R3Ed+VgAQQ=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-4382fc73.0_1623637233307_0.5790844716358754"},"_hasShrinkwrap":false},"0.8.1-a2f3955c.0":{"name":"gqtx","version":"0.8.1-a2f3955c.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-a2f3955c.0","dist":{"shasum":"7881ff9772dfdc66f11ec8d50657884d1b3b4ee9","integrity":"sha512-NELH8qIQJxLQHBHfbW6QbtL+jbW4l0B7xtFnCnKmFSSEIxqi7IPyUg26QyJMHrtwUqU5nsXKtCAqNj5dTeZxmw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-a2f3955c.0.tgz","fileCount":13,"unpackedSize":47871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0x7VCRA9TVsSAnZWagAAhv8P+wRxw8iI3uNuyX4JHp3p\nPLnLXfFzd6qVti7bIm09Lw+YF3LER93DTXwVgmEIuC1LKZi/npO7FQl1B3fi\nFCXL15PXQ0hJecAoUg5owGzoLXtx0dwkeKeixrCxkfzCw3DJDPQt7WpGmKzS\nbMW2uLii+x21Wln4lbcadoFAshBstCBrECGHvtKT0LB/0vhvP9JnbCdqDMk+\nysoeNdCL31Rt6NJr1aQkllE4TiT2sd2jcHY0ppHmnhZKRGCNtQEQeaU+8922\neKtHs6TmL8gydtWtsbOFwsAoyiGnybeVs4I2QnkX8gWgOkSOKbGTLD7f4oWW\nW/HX3YZlrRhGBx6C/gR1RlrukHmv7gUdhNjqh4QU1+8yabk6SHBxA0JRQjTv\naUHADk04MlJhXay8t6dho9dmO892FYY22LR9UVVifuQX25B20ie+jvmcCTee\nPD1CWw3pKnaT2pA+5SsdQgXPmo+XRCDYWIElckZOpHpSZ+Afy2+SFLQ2FBRK\noK7Oat1+Dol49RmittWzOCs3UbwIecA3RmGko4b8Yc9750r0JzwiX5YUySxP\nS78CDMAp8Z/xfmFwrcVqYeMad9o01WtAwGni+O4ySawnXX+uIdwbA52i4Lnb\nc6lZn/iu99XvsGB7MviX9XvEJizU9PZmKBAssbM9k4CuKLJ7sNcHw4AwAO54\nH/02\r\n=omtQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB368Sf+3DMU/g2KZ6dZZR01CDWK5+fm8WRWyepAy3VlAiEA8vg3gesWRfBZ3oF0qzNfXCDyogRiQxh40RRhlNuoNYs="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-a2f3955c.0_1624448724787_0.6149785181740257"},"_hasShrinkwrap":false},"0.8.1-63896ded.0":{"name":"gqtx","version":"0.8.1-63896ded.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-63896ded.0","dist":{"shasum":"eb2e524b8bd33769825e26f11bea2c135b54c215","integrity":"sha512-+Bjjw72Ss7Sruj8wVTgqvr4WoXGCQPSkexM322IuL/0pdTzlhURQMY1fdlYDwj4MrdutXXITDz93rQhJa5ODJw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-63896ded.0.tgz","fileCount":13,"unpackedSize":47950,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0x/2CRA9TVsSAnZWagAAOhoP/2jm4vqeYXMDYDyjbDrG\nJVNNf/3yx6rizEFLR9u0PrAOksTYDR9uYSJCyMDvceKgthwpxSmFetk+lFsf\n+BrNXuuDByvhIKRPRhu6uLxgAIImpXAQcr/jPrhA36wpg1x6SXiupSnIP/b9\nw1Rrg1ve1c8VPFDuhZK0ZdMDXH9FWPBu9iWB82ZpJOZsgDggaJ4hbctJXSQ9\nw0b1tEHH/3EgVwIJ2jy/P52e2Qba4dUiqu3FmCRO07okI9pSEpGQmrnEouYN\nfjqcTw8rUzcSFy73t1U9ak2LRdB/fRlDrfIrrIVz4J/PQAvGQFSB5/PvIcQl\nXMgFt8z/+7/oVNP2Wtf8Zo4UJfFPLmm2bhF6ifjX9ZcArZgB4ihsc3wSCSh4\nG2paPf7Mkzq2fospdcFIEuZwSYL87TrXv1uSlU/ZTnSjOs3n4Ovhf35uyAzI\nty+T2Krco7J88JADNY0strl/DOcQZYhtmpICxOX1QK7CdEsTWHLk6XOZd0Od\n1z1El/XoV/3CB0No3ueyCsJ6w/NvaAAGKKaLZrW3DXsKYqIayrDXfWwhJpt7\nfzLfOntkrTAlB05UP+YZAQtHTIeXzOv9ffD2UJ/aYiS0qCdMqodSXfA1CEAB\nZQ9HSEMWpUcVy+JzwMJOQXYm1CEmg7qxIuUEalKVPNdLScR3AdGIgbue2vTj\njkoq\r\n=gwCm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAa5ERAx2XTwU5/O88riAaphkbFkPdW6scw/3moLa5HZAiBAYGCT/BBh3Up9BwZh1/PVZE22xYiTLXqV+toTS46a/w=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-63896ded.0_1624449013685_0.7016028117684412"},"_hasShrinkwrap":false},"0.8.1-f565abfa.0":{"name":"gqtx","version":"0.8.1-f565abfa.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-f565abfa.0","dist":{"shasum":"2675a06cff16e0b888d8598c63228bd65888efff","integrity":"sha512-VNBLJqTIsUCzaQcqY3a2RaEmf8AsZlnCpGFbFpJR10XIKu1k6jsC74gkdwGKMFCWrUNfpnTazi5AQfj32ZbwjQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-f565abfa.0.tgz","fileCount":13,"unpackedSize":47805,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1BwHCRA9TVsSAnZWagAAvBAP/2lrDmdcnDZqgnZtV8Yp\nyDLrdoBuVSZDh5ukJCpDwquHqRkIgTa45AOEyccsIrqm+HItC2Sl0QfvhNwg\nLRRhXc3aFskBK2U6f5ERmMN88fLe3zJMqPpGg23LCeanle+7fkZ9x/9jhRcm\nq65aok+Sv//Q1oHJnHljAnwGyuG6ESgZ3qRVrjifR2SqobLD/gmHGvNLPp9L\n8MtVi2ZJEhDxSERy3awvtFibRRRyX89t+aptVQboNBY5lVhxM+7O6JZqXPpe\ntvSHiKTGGZ8oi+XgJ68a/QIsUa1OqP/bGEoAI/tLrgykwb0YUzNO4JpZj1FH\nRGkgrgmaHj/bcJY8OVY7+fWMejkVK5cQPym8csStUwlE4Zf7VcOl4x19/Rbx\nanF2US8WBXnEkak4n0veeXIY8oyk6SGGq2NXkWctTS7prY555i1otLUJ2Cc8\nFzjhh0u6I18n0koqoQhDkuUSKzDPC5BxROpJKWDbK+ZhOJvaGBGoaspIWmtW\n5yRzWeNHVIYUXKsDIn++DE340ZIZAhF5vonZj2Lr5aUG3hx54+qdcL3Bc54n\nYgslTcPFQ5rQqbc/hCyWpjoxkwUz2U2qVMti/tcryNjqvpKeKnSX/GyJ3n0a\n7WCe9JiMcujyzjJzjY+OiOFxmk6zfGtk8doo5liP1Em0jU6ErY7xJnyLO/rk\ndcX5\r\n=muVF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHR/NaJm+zcIeJTY9NVtgF0GJOQW37nMZswYFTB01vUuAiAiA4sjS4XzH61y+WV/LOuCZaiYJ4dkkO+WrAH7jfRc8w=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-f565abfa.0_1624513542709_0.2383588210163048"},"_hasShrinkwrap":false},"0.8.1-e6f907e5.0":{"name":"gqtx","version":"0.8.1-e6f907e5.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-e6f907e5.0","dist":{"shasum":"a84c256b9395f86bcc5e35804ef25405107dca60","integrity":"sha512-E1Gl/xbMUfQO0DEn5fvdtLTAQdp07RFBJENqep/frNaY02sPd7XRtwn/WENe69u/l1W8xsOLsI1W8hW04yb89w==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-e6f907e5.0.tgz","fileCount":13,"unpackedSize":47940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1CHOCRA9TVsSAnZWagAAYlIP+wQwulGuc+wy9xdf7xL8\nklh4ShYeY3kOcjubhx62VJfjb3SeGDCEtzX83mBGjYVJWufJ8XkYAN76gwNX\nOK3ZLLVYOhiz609AOZua/cxLj6eBAFasq61sMwgqn6Ee2mJAsCwrShcfwJRR\nufJdXvVslqcQ7PV1/OAAaDvbJrYZZIaPKMW9avqMkBBq/uWbAEh44oNOSxLy\nkfjsn8ctxpxhrmJNS6xHjHxU0i7sBVr/RzYG1KnG31nJxUV1b3xyxJ3A80HB\nHqSlQFZ+VVuAtX1SCjzJr61VWNZKA05RfxE14zenBDbVWaAYpy/ilcLIOdNa\nytlHFCtUQL4v10hllvlj5PMjfsa4/uRL5360amUObUaul6xPhduLISc6yooL\nZYPQY4au/EUKqGwdIllRws4iv57ZDorcRTQWamtt0Srl9yVzegJOJFtWGDny\nrFz23kkWIesuFOTOg4b0If1F91LPuuocYLPMKtNW7ohntmqh6SdZVsGOZVR0\n2Li+Sw/uiJMrzgc8+CVaSC38Czi+xM4j7qhCaBSQgATgHsUazA6IZmVDjSc0\nzpzNMtcSZ+ivgHqTf9CdK8jrWhcyhEWaOMnAFW4dBd3wCuOsBUjA2Zv7h6pD\nnQ9R2eOzVGPyrY6YJ+cT8vXLcX8s9TIGK330XE0dv0sd4nqRyBEuxpqR7aec\n+vGH\r\n=5FiG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEp3BfozK29eQi/yLY78T9//dv9ZGOSYO97eJLRzP4RvAiEA6+xQycqmVZFxOirSfEuU2P5cM+/yTqd3tfXw76GdoLw="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-e6f907e5.0_1624515022355_0.3265117956396477"},"_hasShrinkwrap":false},"0.8.1-787c9945.0":{"name":"gqtx","version":"0.8.1-787c9945.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-787c9945.0","dist":{"shasum":"1124690d4aba142c18a39365a8172dc5b61441b2","integrity":"sha512-h3gwuF5WtkGCE5Yl3jop9ARAmw5v6p2zd+CtjcuAK15/Uemw+pRfYicuAIDsS6QRp+R0AlPG/cCQt517oUxZAQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-787c9945.0.tgz","fileCount":13,"unpackedSize":47940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1CtyCRA9TVsSAnZWagAA2JAQAIuqINMbejOCH2EU3lF5\nn/mmoT9N4xjHMhRYxlMr1/EXBpDwRFDo/4KQQaUGltmiqxqtpZKH7USqrnyV\n0iws14B1DU4KQZnaysfZyWD/pN8wLAWvCVhJP+qYJ9pJFJVvAJYOZeLMyDbp\n8RyTrWroQsjOJzmdSBjuK5XHnpU3okISnQmHsPXwXaPnsFc47vpVxJB5f3ot\nlQdfDZO3R9xV9zXXtwBY3DdHSA4CYH7qKmDeeL5K/dD6iKMKOU5M7q55LQH0\nfgNmxoqF1+UgsoolVI3mQ8fSRaPlJy6JJGNiyNNgDgbhOpNoEjYHR8BvhEY8\nRQfzpkvOJAyvLg7P41m/12LTj7ofUkVWdErwXzK30Ih1dHc4hscWe6lA7ydf\nnPVfBrOfg8OWu6Hh/6e0hxsaIh5FiB4Vi1R5w9Ie+juEpwZtLr9q29Q6tgqF\n8iuhRQmWYTfxRcQQl1KqcMW2OAkjW9+6iqUrXzT396JwBEHwldv2HCbbXKUy\nPoZu4k/WmJCyq6xIc2t2h7Rsc/lFGLzK1Qe9VOqK1qpuTCLGgZWrIN+Ta7nd\nz5mbUgE+l2epS7EIu8tCM+hONnggsKC2mi4l0bQnmhwr2SIEg9ZiSGSRiEPI\nnVx6IT9eCaosb6SLw3M1BUcFiehH5r0z1SQlvcCmpeO1J8rw5FCbcoJDnMNB\ncXYm\r\n=KMCy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHNefn+Wap7+aQBJv1aDIOBNJUtrVliCvA+bTnZTXhQwIhAIJBeFDGvUT/M6IiKIsBs/ybFeDaFEwdrLXnR8Z71ymi"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-787c9945.0_1624517489565_0.1233902099176023"},"_hasShrinkwrap":false},"0.8.1-e5b86bfd.0":{"name":"gqtx","version":"0.8.1-e5b86bfd.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-e5b86bfd.0","dist":{"shasum":"bbc7fbbef625886afd1af971a3ffc8afc71d7aa9","integrity":"sha512-tJp0ijWb6U5FRt1V2Y+CxzHLngrGPWlXzwZP5852g0qczFdL+dul3+soEK7HbYW6fXC9kPjh8SXw3B+Mn0IYOA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-e5b86bfd.0.tgz","fileCount":13,"unpackedSize":48187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1Cy7CRA9TVsSAnZWagAAQHMQAISryP1xicJDkKsBcqYy\nxq0EE1ouyPoWlDr4l5xuN4RnDuhKlRbc6E/xqh/97stZlzsIF9sazmxroIoH\niGIgV3md9oen2q472irdnSQyF67olsCW65CKBuBMNW4OQt69sZkUx9PkZdyf\ndfQAozbgEXoVsasGi4xRy5ruebJsR78wHFjzjs1Z4fohu0+SwVORdYQ92ARS\nsAPDxY58/1dHOkJ6BzvGCG+6fR4uCOAZjCQjVKdrrCVHtLCAkiAuqfyFhKyb\n1mMXCSIpzUTl5fSWChhlTAtDLEc8YorcZEqJ2gBKekLS+tdzKvC2tMCi29Tj\nE2QCkjO5b3pllAZxvmEv3Cg6pftY9HmdY2qPPUZbsvwHF0Y2mQ9Lfq7HY0jL\nKFA7tLtVxf59VUYDnK5yknMTgARmHw+GVedI0F0fCfBQ2S04cYiQYrJKhhyx\nOAyrJ4CVG+6V7C4x3cnq0aGTl5n6s8hQpiWPuNC04288erUiowzfzAAboO/l\nVuZYgBzZzv21V4I1bZfgkBHIXHQXbbpEDoyEx5E6cRy5nEnKSF698zDbbi3Y\nR18ICd0XGXssGCqktUt56iwRBAPakVFRrRh21XJZGGjXa7Hb46ZfmZOCCDHE\nVLSXWFRPd22Y+aso+qWV3qyDG07CxRPh6qUe1GeQYNHBfBz9UXXB3VRECfMP\niBPl\r\n=TXFQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMjb08c3Ju/xSqPQQwPmyCx0pD97o97BgEY1PJ1QwUWgIgC9eSJwtmdCBAnf+bPQ3KW1+CB40SxON7CaBkVgyc7Fc="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-e5b86bfd.0_1624517819544_0.48285825997182785"},"_hasShrinkwrap":false},"0.8.1-a41a109e.0":{"name":"gqtx","version":"0.8.1-a41a109e.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-a41a109e.0","dist":{"shasum":"d8634b405c403453237003c409dda863e4b462de","integrity":"sha512-GGiuFCmnosMZLMb8gJA9miVzUS8o7gi8QYjkukrsGoiMK/AR0arf8CbX9WJDA761cjfZ83++q+LpWnAp+rxCtg==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-a41a109e.0.tgz","fileCount":13,"unpackedSize":48187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg964OCRA9TVsSAnZWagAAhikP/juyaKiyMQQbNdamPfvg\nk4yCIobUrXk0WwaW+iGSS4mK3ozNSh/0aRq0YLzRGMHRi4bvsk0+2Y72/4ni\niq5ZqjRS9pGhtpL2cl0oGOix5xkZ90OMplJNiU4ixAIbfvjVVu26uTt5L+lQ\n/ehDt677HOTdtrP98ZYt5dY+tBmtcEm46SybtNeEV7miAKvgkdI0qEGSZkUO\nTCG134xN+nfI6WbB39JqNxBGKJqANzC4qS6PJGYwbX5fDywtR/iLbdSoPzI9\nSLVwoWrdBsmU6V5nN9dZmnAgTFP9zo/RiEMYPoPPk/DCOmP3fwZlm5TCf0Ts\nB4JhNWSpYjXxK6E5TvHMdLyYQjIahvDvAi0Rb4zXAZ4FQ+PnSwSauR4GSa7F\nfOiYJZ31x0XkUhIqDopa78vJz/XkRjLMVVql16/CTyU7RZW1NiP3q5ixhKq+\nkGs2b48kbRkhIZWdOrfjDOiiWG1juLRvsTzIZCuabFfnPRA74840/JQSoMRr\nZkSxiqzTmWESr+c5aXKI5gTPZGGY71TbizutChABOv8CZzvSsmz5YN80JQFM\nl4DkpGACTtWPW8mVEiaoUOEOoavBS6lvd+4/Tuy7LNUcr1KhCqitkB09TyRm\nmP9yGfp8LE+e8QuMqIlbgTPjDbJSIZKCmNwztUyGmvlvaWKgDcOpVBwqRGV7\n65Fk\r\n=IxZn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFVsWIs5WL6YpMTI/AaQyL5+xulQGOI4trnt/d6iuqSgIhAI892Axv0ZaBVdpW1FgzCP26j2mI72soK3WkW9FWrk3u"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-a41a109e.0_1626844686757_0.9657272688739098"},"_hasShrinkwrap":false},"0.8.1-1c11cc95.0":{"name":"gqtx","version":"0.8.1-1c11cc95.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-1c11cc95.0","dist":{"shasum":"c121114f2bc3d35f84c5a6a8bfabb5b3d684c2d0","integrity":"sha512-Q+tI7MN/fnyZZ5TFuu0JY8nbiHCDYp843e4oUpf823BR8iBCSUqhUA92vObVyMamHXKXo7yHm7me49As3rhdUw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-1c11cc95.0.tgz","fileCount":13,"unpackedSize":48187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg964pCRA9TVsSAnZWagAAVH4P/jDWBES+sjJ9LKOrqvmM\nqNdyCshwsmF3H3TBRsk4KQwvBaYeLa18z72VHedZYbKCTb1b3tPluBVg4a89\n1iVDKdUbjpk4EG1h3cDRdX4hH73GmLy8noPg+rZCJoa18bibDw/2i8QGLsuy\n5t2wnv5DTCdQQFuVnLDiwIxYJ90XaC5o6eAErCV1h+LL9mP0y+CPgCOhG331\nG3VoIKkH6kpxolyKNp20Vx9gBnMLLC46k4tV2S78TzVf59XnkPuxytW5VaJg\na8i6yC6biZ7t3slmdPLSuRB+oHLcMGA8ynRugHIMZY2iXklksz0dvLAL5Gcl\nHDIdyJ6jk61iAEwY7Ig57PEHIYXRgIRrlEdzcV7U6D174zEksRT7OC491PlQ\nfCA/mPCc+IUtMxA40RxXaaxyvddYJLG1qi4y3avo0E4PdZYsSlk7deZo5pUw\nXQ6Zqq6SxoSLeKHkgdg9diSmQ+V2ZAPAVLle4mYWTCD2qauMzA0LYgklryv1\nciU3czABtQuIfNsgZAkOzvB+zq010aKicDfiKM5bpUjqcyb+AUrb4mWA5GFc\nrriQDDys0HgfmHznGpE+NbVT03WswRMwWecLPpd8vkupA9Vx7/7bPc7J3BA2\nMGegzuTWkMSifynyioHa+RI4q0RPxdx17hvaHSlXy0gHpiv4+80rt4xgcyJG\nHR80\r\n=hhKc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBC7/vmg9SFbNlUHkqN1t5lUsvLimO33y5RH6Ql+/H1oAiAYb+1hX4GPCHRJ8U1ohzdG1ZTPCEJGUbGxVudYNZTBDA=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-1c11cc95.0_1626844713532_0.21475313851768574"},"_hasShrinkwrap":false},"0.8.1-f0517487.0":{"name":"gqtx","version":"0.8.1-f0517487.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-f0517487.0","dist":{"shasum":"6d049b23b2fa616b7742680e00ddbdeaa1e9173c","integrity":"sha512-qBfRXauXEbSXg72PEFQHPpIgThhkYhVb8PNRISXfIxNvCo7tvy2hxiy0bmxqllxOwxXykDnAMxPlVwCnb2cWQA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-f0517487.0.tgz","fileCount":13,"unpackedSize":48187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg965dCRA9TVsSAnZWagAAiXIP/jttLWFDiIYcTQzi6QDg\ntdN0/NtjM5WIT+3YLqzz5pYqGaWxCYqydf4VGKHM3jtv5i4yjRpkJ3Cc5IUl\nM6XlZ/JaqDhiDJlEXX8E6Jc6e/pMqanpDLsI8Tqp1bk7TUjdYIs/OhxQ1Dtn\n6/X7U3PWC0y2YmTVpm6itXWFECtwxdYdWDolD1V9yMZDlePuM0r1n7iMtt4D\nPfy1Nx4YpgQ2v5nNG6eFar0k2jwmg/ExLD0x8bAXQAsQzP6sjqg1L4BP09mD\nJBo0Gn3ffbYkp4Sdz6Iy/sZxbvF9x4wEKn1KKLKO3yxl2DbtEb7TgzKECUo6\njrtlgqBlM4xj6krwPuhQBxZfAS7FiDZT5u1FdzuAT0DbJ6bybxIruA/ZdncS\nzh59FXPjs455ZySHq+FUqhAwHzFzU6S650sJeIedEsJruNjW+SmoZlauYVND\nn/EvkXqQpI3cN5eT1oUWXpjcESRVc4TfNlwYsctLBAnsWbCt1gcp52R6WikW\n28NdaDVZWsbPs0zzJ2AcN6R8bdVWrCrgCXkfFdxjtCJ53wrr6Z/SVO7escKL\nm+/KthX3N0xVBNjUDKwIAb06+F9WHUZ55T6A6C/BuF9rjG6sFX1rxiGvwvYn\n9QoLn7G0zAtUskV4Fiye/tdFudkHw2zqoyL74yZ0wR342UPS0qtbNgO66zcD\njPct\r\n=dRKE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBCJWQw7oBvuU6/Fu8JFSpu6hVgfYt4w9c5dnl35jloCAiEA9ArbpN7Ts9hksOhp4SUeL2vYkivKsbDqwjlIjyci/aw="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-f0517487.0_1626844765473_0.13064402975368528"},"_hasShrinkwrap":false},"0.8.1-57a053d5.0":{"name":"gqtx","version":"0.8.1-57a053d5.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-57a053d5.0","dist":{"shasum":"92d6be43ce0fc917b2fb3eb4f2249a5d04a49e34","integrity":"sha512-uEXvfV3VvuoTspiUWjvQUAr2J6t4a7fPYPOBxHiSwx2ooDlB9qos1ySsV+T3kwNJmzVU5db/U9nRcBPyw2ApRA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-57a053d5.0.tgz","fileCount":13,"unpackedSize":48187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9660CRA9TVsSAnZWagAAcpIP/jnNDQsKuT18DO35fz/p\nzL/EF3YyqkRJ1w2yXJJbm+9RYSQlOxP73/qeweNmG+Z/lzzLuVHYsSTWD3JE\n2dixoFWBEAENqS0eGsukVQB/PhZDHRs0ybdjVy7VsVbSEVkrRgHjc5WzGLpe\n1kbAdZG6+BzTanthNLWTjdreBGVebKzoidjERPlC3A11w6ExYqlDfNQ/mcka\nAEJgHmyFG1yt4dZuOQ60+MKE5BPqm1hTepdsD+iMvrohf/VVRkByRTUpIzdW\nN+K0+ZxAmo1RHiMN5XanKbFYWGYCwkjZd9C5h8DY+ObGCaNA5siaBH5uDfw1\nV3mgdxK3CrRxDJVhVZyEObLJ80jDC/mVeDn/jvMw8qBK+hXt3BTMXjK6wmFB\nIetX1miaGIJcPxgfPfVEfGcJfCYVFSLyDDK6rMP4ABQmrS2/4pwOg1E3FHym\n+Q1mQpiwRxgZpVdazIgD7XdTagCbZpJqKsgpRPw/Z5sHRcjZSYSZdRmoV+nN\nyvi01tTHxQzPlr4m4rMEe7IScJjamd5cGq2quUzNCj0MLLzd8+AG1ERzq1WY\nZ4OGoMYSOQInGeNT0VBG/DBONqdxyu8bHc/cxar9CPBbFGIpiLQPzJs6myWX\n8lEIUsWurnGYh4fQfck6PP+ikv8GuSPK/O3AjxZB/0Vq2559bXF1rOfKnhd4\nsKJI\r\n=P4yD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICR4GdqKTXmiD4rJzWK62g7UJNOkkD6OkpWr5dK5pOMZAiEAkRW7MzNP5d726OSPEOwAsYRbjqLjpghiN303fArmgVM="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-57a053d5.0_1626844852390_0.44215797584203"},"_hasShrinkwrap":false},"0.8.1-cebe95c4.0":{"name":"gqtx","version":"0.8.1-cebe95c4.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-cebe95c4.0","dist":{"shasum":"9b255ecbf6c8455208010a077ca88d919f0d4b70","integrity":"sha512-adWXV6yF7+l3g2QhMJen/P47PdDWkLtC5nsqm2ri7iKXXVbew33wybDlB4qub+/IW48aIlm4wtMgGnt0PwrhyQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-cebe95c4.0.tgz","fileCount":13,"unpackedSize":48187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/6BJCRA9TVsSAnZWagAAbu0P/jOV8kGHFzuenXyFBqYd\nKTw7L3SJH82ZxF/gK/l+vKGAoP9Z5ey6VMtjbXwfCi4hTCRupztt3DJhmuxj\nMtSHI5+3CJUWvXzhQgDidbA933Q9JXxmngUiiFTI5dkTesyeIt6OhwQn73qv\noVElEgZdM8kHCWim2bC5wafkSwjItYw1dslirDK/JaBgBqiVO2PPwyb8FJON\n846I5s4dL5MciyE5QatRIo9GQIbSKqPgIU0qzj66BT6xWQi9nySYYEMjNn+9\nEn00hInnUNblyqQVAuM91GTgUVEHVoCPR2VNaMJ7x2OwCy88gMgDqXQygiHF\nFnO7aqMnhRsvWDBg2ish9NFBeT1RzKr5DriqQ7qbj2F/P7zHAg4nl7+YpfUw\nvSo8+BjSI+a1bECldbGgXN/b7zYIUjHrIbyigVhRcME74qUlGFqN5EnTZ4We\neUYO8O1iY+RScTGmxbSdtA5dmWAyyC+/P+PW45MVsxJqKqqvSuGZWs0mh1fz\nmRYhenDGEsDZB6uqqFspZpMH5mpfz5vgyLZUWXv2bLLhlwKZzimSqrqIlGQB\n+PCZef4SM7Lvi27ndUQIgocaHN8TMb9s25HbWTF4KQbtwcgs01vOk8B71qrq\nLKwyzuTYB36Wv3mKtIiNoURh/JFNecceiN2d2RDT14iPj3n7IHtIoiu5ZpCe\nbFqq\r\n=ad3Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHn1vqjzYF30spoXIeutm1aFqejtt0RhIXNpJb4L4HG5AiEAlhMrgubxNb8nqV4CG/J+vF04mdsJv6U9MSaYTQwkvTw="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-cebe95c4.0_1627365449867_0.7514357892401979"},"_hasShrinkwrap":false},"0.8.1-348cf7b3.0":{"name":"gqtx","version":"0.8.1-348cf7b3.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-348cf7b3.0","dist":{"shasum":"63fe3267ad73d3355a5521d143093b7b17bef297","integrity":"sha512-vKGQelNx1Jd9JH0tBLBVTowsAzB5f6f6eOf5ckEGOyLK0/pTbu3C9y/Fm96QIE4pJqQxb/YGmEinI+16RFlBhQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-348cf7b3.0.tgz","fileCount":13,"unpackedSize":48187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCFi6CRA9TVsSAnZWagAA3D0P/jNYlyFz5WbS0D7hFfFK\nMKA9+AWki4f6AE5O16hBeCiH32eYczYchZ6qM0CK+q45rR8l4MUa5kGAUvXl\ncGDgqswdHPJyPmARgO9XF6bVhq17Vw2kIYXeakQGnV0mWNyJ7bCj+tHHXsJj\nf6MWgEY4/7XxA7XVY0HS3k1Ktq8tARjmWk8ARIHQRIaC6MequWsJ4ltxJA2G\nBA7Scf2rWpu0p4LohHHCMxj2ljEnxOMSJ6gS+eMFeQRy2hEVgvprXDpLG4/h\npJ+AxWAv3Tg51q9dIgtbSCDyXXBNTZ3P90dphvxREYxTBH7FML956H5YZ1Kh\na0XHgpAMSSmOnQ2kO4uqKizimInJkXwwnnVy8I72sgAXubkP8cmC3Z85HhjB\nIoCOW6gm71t3NktutMgrWISFo10Sj9YPWO0TFnAv+lBaMciu/FjDDa4CTPXi\nWe8lW9+SK6ROjJkDzgdwUBTT2Z1/Q7O7mg7SbujMB9pHt60bIuUSCEmJ5NxP\nle7WniobXNuP5Q05Y7pGk90rw/iegODGkt6d0D3aoixubM/hymNG3LmEhEEp\nJb/tDKHaO1fyjgh6A/FanndCWHFVyPJPECU8wwXoIAFT9E54+2UwCR4Fa87I\nhzDlngTb2Bn3GsM9/0VHJ6BHvOtROwPBAWMzkGHh+UP75Z5yNlLpY7aOOglX\nmP76\r\n=aaPC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsB1x1NYALvFKT6W+WnpBYv5Nbv54Ttr0Wkskjo987lQIgWPvgyWN8G8USUWuj840wL7ZeXaq9+cElDN9lBReXC7Q="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-348cf7b3.0_1627936953920_0.03170440317497669"},"_hasShrinkwrap":false},"0.8.1-8b34dff2.0":{"name":"gqtx","version":"0.8.1-8b34dff2.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-8b34dff2.0","dist":{"shasum":"ab4f82e5f8091fa3ebcb99d50b2f0d76a86148f8","integrity":"sha512-+/lK7RLHLjPJsCZQVfq7wLrrgiNtaJbXLknDU7e4MdDnU2+STsjvfNdt8uYyfbPYgGozamE8iM4lCF+gUYrNcQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-8b34dff2.0.tgz","fileCount":13,"unpackedSize":48187,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHkpCpuiZGEzjgbuRywHS3YLYh26KjIH/8MifDIH89oQAiEA9YbZapm4G7nG7YLLqGrr7bO8tv22o9GgzDC1Pre2Dhk="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-8b34dff2.0_1636242243790_0.03874659085530263"},"_hasShrinkwrap":false},"0.8.1-4fb667a5.0":{"name":"gqtx","version":"0.8.1-4fb667a5.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-4fb667a5.0","dist":{"shasum":"f8b1fa6f8e4b019fec78c2c4aa3f3a6f7c352b1a","integrity":"sha512-vRZL7AIuygR/yySCS7meyT3jl5L5hcMks9Sda4Y9U3Bh8pmu05G/xF1cnM3PbvRkkrglnHwscdwi9vN7BpiDTA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-4fb667a5.0.tgz","fileCount":13,"unpackedSize":48340,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmz+T3e7ZuNjxnMK7CuYpX2xVOoi/z0GByLTyTZ+M0ngIhANJjF9I144Xms9M+0XR3Eiwa0z+Y5UGMGtHUeDzbuyIP"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-4fb667a5.0_1636242355061_0.5966700722244629"},"_hasShrinkwrap":false},"0.8.1-d6e00cf5.0":{"name":"gqtx","version":"0.8.1-d6e00cf5.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1-d6e00cf5.0","dist":{"shasum":"22e0bab71846a9b2bb1bfbcbd7db432bfd7be8a4","integrity":"sha512-qrZ6l7TgY3WQ4UW0/NScRLR9Rc5JL9vNxq9JFc0WDxa7BfO84XnkDIe1pg0pxgcbyqype88RXp91b35zcV8pqw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1-d6e00cf5.0.tgz","fileCount":13,"unpackedSize":48340,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnY/ulYX3LD3WgnlWYJ7VqSar9Hgv28j4e5pjYGHc8WwIgPrinkhrzGihOUCtHJCG4GLJhVpWXfXe5FeMcN4CfgSg="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1-d6e00cf5.0_1636242834856_0.3217665576144779"},"_hasShrinkwrap":false},"0.8.0":{"name":"gqtx","version":"0.8.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"description":"## Getting Started","_id":"gqtx@0.8.0","dist":{"shasum":"9da9b539cec8168e67a6a20002bb8c803a03b43f","integrity":"sha512-ikdn8Z2q2TQYuAiYOLEIYD18DQjn/T9lLJlDiBuxcK/lhuwZHZWumIrM6Sn6Utxe2Tn4/iLAKAVVtbxqX3FW1g==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.0.tgz","fileCount":30,"unpackedSize":70172,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHpxml7kbj9HMbP6eKG1JFN2Sx82RuthwEs/elk18qmeAiEAhmdN4oCX5OG0M05D4iueVNp4Ki5WUMS7vE18ReBAnZg="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.0_1636242979311_0.820089171152784"},"_hasShrinkwrap":false},"0.8.2-21daae90.0":{"name":"gqtx","version":"0.8.2-21daae90.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.2-21daae90.0","dist":{"shasum":"d7de8ff6a2ebbc388b6e335b0132a6b7258196b5","integrity":"sha512-jgcEwD03esqPTHxaEbgf08cky+EasptvlMJVJCg4mJhinyb0NathlMxjhl+C7C0w/fdA6Uv8J5lcHHYCnU/3WA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.2-21daae90.0.tgz","fileCount":13,"unpackedSize":48340,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrHY2dCiKJ+Kq1HrxkKiDHPT1PkOSFN0QoXrKWLDXyoQIhAN1BWU9A3zeT5RH6TtxWC2/XnCuTBc/wxGRnh3l1KN95"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.2-21daae90.0_1636256727690_0.36710113676835854"},"_hasShrinkwrap":false},"0.8.1":{"name":"gqtx","version":"0.8.1","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.1","dist":{"shasum":"ef1f7b21a687a4005768a1af8c326652302b4be8","integrity":"sha512-TUoOVSm5Gah1UY75i+degpvO8DOy//28t6d+a51Nh3dCiG080pfjDZQ/ALmAbbLWIP+W0pDCQ5YrZTZ/x7vXDw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.1.tgz","fileCount":13,"unpackedSize":48329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2sj5CRA9TVsSAnZWagAA8KkP/2QqtOdruIVIVRTKCfLw\nPnQoaM4CmbqL8fxPuzui+PMfn1uREZYqexuCbzEhUqXm7A38ax4o738EWHJJ\nXmZy715qXPbNH88R8HgH4XApTMFYeJodPyUJqW99YUwW3pAS8lxJMk9ygIxz\nrFLDO8XPkV4Ct1eQXdkyMfJkt0Kn7XIGHNM0mnICrdzizLXacCv0VHnO3sAi\nbZXVjPiS2Y0Duvx/QLjtRVsGQUaaYa38QOEJGYnqC2gYjDzYITZoE2M6KSZp\n+8onbazrwUC3P4vUNXGklIW6Pn6NxQWCXJAfZrH0M6ICy1JvIsVJ8qDC6Cgl\nDn/VPG0TpnzjI89zXGMuhBCWAfjrCJ88vh8aBL2fWe3BYf2MKBXxFJJaFcaY\nL9ZinesjfV9gZm2a6c8wxgNimkvMGb44kL6tEUHd8gwZ/eKgC/lEuHxC9seK\nRH8DSZ6Wuv3rnW63KS5cuv3yIuHl4NChZrc4xNhkwP5quMYkuLHyzLbC9i/8\nQchySbKaAL8e3ouKeTr21W33VwCzmQY0VzSaxDmRCP/dfXtUmtGPRLagPw1p\nHcNFDFQC8JlQLuR8iXk5JCpBD22LJGc++leDEBbPn0iKBGHsDmO7I/+QNco+\nyI8UywKc2r+MtpLbxNfIILyDS/jDQ/Zbp4/ImGoNbAx1BdYcnh/Ce1IANpEp\ny3Qs\r\n=lXE2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLSQz7UHjpJ8FH4TCe05gjD1N29yXcIiTctOS13Rv9DwIgAWrbvGxnt5hwjBuzy3B0eKMR8HI5eTU71KzDljZ5Pbw="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.1_1636256733016_0.19395034011402212"},"_hasShrinkwrap":false},"0.8.2-3564db83.0":{"name":"gqtx","version":"0.8.2-3564db83.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.2-3564db83.0","dist":{"shasum":"66bb6265f9d0e1c0b8a8f75ec569579137c1c7ad","integrity":"sha512-BeT2t4C0jmmAOzrj8nU9xaxZZMYg0C6I69A+eufhRNqfLz1oh0PWp8iAB9/zFni72pfDJHML6j648D5p3X+50g==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.2-3564db83.0.tgz","fileCount":13,"unpackedSize":48340,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEmPxf+J4MZa5WuAkwCe4U37h7Cw25tovyzhblNKXyRoAiEA+fLeLYZfkJcef5/dnl6xzaFugf+FhGz/5oZeaf6JP6w="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.2-3564db83.0_1636322048012_0.027365549873175965"},"_hasShrinkwrap":false},"0.8.2-4c93b62b.0":{"name":"gqtx","version":"0.8.2-4c93b62b.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.2-4c93b62b.0","dist":{"shasum":"bddda7902949840a977e83c081987a8070f4b963","integrity":"sha512-L0CtzhYib9h11w3plvEoQQnu9HYt6O/vNM9p/0q+mxvSFGrX3wULZRRRrXV/4SdtVwqESvLPiNlTVi20BKIL7w==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.2-4c93b62b.0.tgz","fileCount":13,"unpackedSize":48667,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAVdCCRA9TVsSAnZWagAAJwwP/RdqtY8i7i1XDp3YaHpb\n7teXZga1e1ey5mYvkFLFbeuxXWLYjiIBzZHWoxJ92r7O6bQpDrz7X6YTrPJQ\nuSXWkcSbSInYhnELZ9k5tUhJFnc85dUgPjWXUyck3F7uxgX8wC9uOoQAb22g\nFWckqKJQp5TFEOg35z01vvjXIXejpy5eFPea3Tu2OQvoMs5DimoojtDIkBvb\nmrpab8Sbi7Gb9ulEyBmvF3r2FyhHEHmSOvOTtaXMSHbxGbmaZXP3S1O7pTRN\nA4zcLU7Skh9JSBsrr/N8XV0ox6ppay/M25TcR0gMHFzLWhHERiXRsEYgy36B\nFomCHeRlzj70nvVLiRzOr3qbMqQaUe62x8II76mvu5Z361h/5WABjFFjLJWp\nIs6TGqMlyra26YBxK5TNtkgQfoHnNBw2W2HQz+Szu41MVa24CtI//xtlNu4Z\nD7/npXYy36DnVRPbrDaxfm6+LM/KAhAmZ1XRv5u4T5QSrkekR/edTFJSnT+4\n/9LjEUoGBtC/gQMYqndALRUUYr6ZCi8ENtc6U8fY/qNrjPDCKnoCMeqZCqaU\nxswOhLDjK2E91FPKrI45KfzcvNYIc+wkIm0yGmNlXkBOW0jSeWd0UU0KzQnV\ntjiH5hMJIyqoIK2eqY//N8W8fryasSbYnMrPwq5KswCZi9ZatYH8cHCL7w+H\n8kNK\r\n=6KvI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICqdmEearwB5bGm50Ia2HO7WFwAAPCcUjSSfCFSxOrYMAiBMJK0akqUaczzXFykAPFoufsWyMTTstvXIB6Uj7IlnhA=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.2-4c93b62b.0_1644255042792_0.24980722903562236"},"_hasShrinkwrap":false},"0.8.2-6e5f14ce.0":{"name":"gqtx","version":"0.8.2-6e5f14ce.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.2-6e5f14ce.0","dist":{"shasum":"f4b22e3bf313fcca7a06f9ca5200acd1dadcb16c","integrity":"sha512-Fik1l4owt6LZqwV1BpVzZWowwNYz7JQqt+W6eebHp0rqZFWez0HOb//7c1wJr2wxCtqvv8wMZoA0BZIORTqmpA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.2-6e5f14ce.0.tgz","fileCount":13,"unpackedSize":48667,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAVe9CRA9TVsSAnZWagAAihwP+wWgsYXho7nysDTb408P\nCEaoA0g/Eiv4C1mkvccDq2WT28/rJSvnHq3jCwroMqUf5sULMgNzU8AXpz7B\nwHyEWA45ZWMuoW/5n10yDOFli9vSw2I7yTAhdUEzGnhdjSO49gQTkB/URbTi\nHMlWNloLF+H9fE3A3kc3hJzfLksjmVbJkxo4edeQNK+baXhPpnmhxKwDUH0p\nSSowoVmERM0pFrFciOYN8C1D6oei98Rtuk+60Hy8QOz3KhJa7hRq5A/bWGOa\nLXgxW0nStJeO5Waqh/kfTC9BRHf+6Br/bynLFaWcDMLXbvCKr+p7cCBO7j+S\nL6HN3tPEoBakZCRT1rLizxYRVpsgMkpxBOzGHBj2ltUeUGRozdg6voQRu4M1\n3WNzX/sx8Uy0gV3Pi3r1bVx5s+GLoL/Rq2fiLUFVRG/ZBZRUDtPG+dJgLP5W\ntq/1joOJVwQ5SPZi/DQbYyavukclzfSCVPYL5HB+hwsVovZivC7oLk6+i58t\nFPDfhVu4sOHNCxLQQ1QajG0kVHebhDFaYbTGBNmSXdgL7faTFZgKGueS9q/3\neMbQRKBMpmb8HZHASK7DY1HH6NsBWOHBoGOWOBShz44XZtZH4kG4zE0CRrsQ\nWKVheATi6iei4R1+4zmMwUsQCwV1ioxN4LMSzSuvpAVm3LmoV6JHtfIjLxbr\ngGtv\r\n=LYyN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHrC9HMtM8xzQbvc+ntl37Wnl5FSjzfx028ZZHDSHPtqAiBkmrIVQDIU+A1duU/rhXjAyZ1QTUp+I1HeZuEX9BI8Dg=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.2-6e5f14ce.0_1644255165717_0.08170892888196324"},"_hasShrinkwrap":false},"0.8.2-b0af869e.0":{"name":"gqtx","version":"0.8.2-b0af869e.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.2-b0af869e.0","dist":{"shasum":"1639d9ecfa1a8d68dcdf05af849fb5461f34d426","integrity":"sha512-CKk7k2m/018qWXxdkb76mzdzFCTf/NXzCeJfkmc0D2NaWi4rNyvEpsIeVjOUT/l1XjZYKxaHrfpeZMqREL4acw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.2-b0af869e.0.tgz","fileCount":13,"unpackedSize":48667,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBFV1CRA9TVsSAnZWagAA84UP/3HjPxhWf6iI/z2e6KVf\nwNjLZDC/C/ZXSkCwiRxdXkic8TLv3lowKnvI1QrFqLAKYhCRSOMLcJ8cNtea\nHeZZczVkN4lMMZP5rPDOwKA8pi9P7FRxRQO4D1VO48QKPVE0AU32tq5U4b2N\nvYtyyiGm00PkrP6yQrIgfIqHldRZv7dvwgJG0rp+f2mikI6cOzbClWcSBw5+\ne0mAlYwyaKmk5j74pqn3pG0zdhiX3lG4q+cXiBeE1y/XCacpqr50SXPtWSg5\nPzxIsYoqgA78w6p54qCo6cNaSMPlQPIYUjMaFSS/eHbUmKbTEbsYFQbjvqBo\nMHmZuX4AK4b2UzyFZP5KQIq4w7TEhXgnfaIyN386Vh7iI1oKj2SsLE3QHZRH\ndICXEvvbCW0S1z1ZEkp5/qo86aid/jUelRt9aGIFGPKUUhKyyFVP7piXh2io\nJ2iLfbrxyV2Hd39yiyVYI0aQXueSed7RYCtJuzqSXDfufDO9XdSGFnEU/Gn7\nj/d0ugdKb4gDYmT9hovQiWLHNj0SfYUcR0hJA3eCrkjNnPDmCOZMDAzD/o/q\n5zO6Cqr5Y19YJHQU+km/+1D9l3rcSFncPnmZs4SG18kog96dItuBw/1U5PpX\n5oA/I59CaAoVV8Zl2MVEBtfDqitQFQAqXTg97ThtWCplLGZuKQj5mKGPmPAb\nX36k\r\n=PG5C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBtnKgC4DHErwqmbSFIGOGN82MRX1iRSL2pTWi/E44hYAiEAgnK1yKC060LdXJCmkyMMBBCpkp/gGYY0nhxKeT7AccM="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.2-b0af869e.0_1644451189381_0.3090104921097965"},"_hasShrinkwrap":false},"0.8.2-418ce4f0.0":{"name":"gqtx","version":"0.8.2-418ce4f0.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.2-418ce4f0.0","dist":{"shasum":"a1b39a26163bbd9d5d304b6aa7050b5a51ae4b0b","integrity":"sha512-k3A5nNnzMC9y8dIDpWxrxCMuelYYbA6ge6BSgjvEycsRowfKiUR/J/LCvvo9qQl8O7j/zD9r/MsBEUU3w4TFAw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.2-418ce4f0.0.tgz","fileCount":13,"unpackedSize":48691,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOgMPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrcjA/5AAebn1GM3ypOtHkn9aaVIdlodetqT+uRskOPvwh8Af9AVPmB\r\n6GmGZBF4u86dRjbDdot+oOYfSsF1UifxPThaH4H9o1i0W5hCZo5UyLY9zGgu\r\n2FXfcv40tgN7Sgoy9dABLMZGM/H17B8PHvhUrfXNVrgyc6/QNO+QVguCqIpg\r\nBJKgsB1l07EjyjFHXBryZezBLIajrUzpIWO1UqsJU0oex681pNGwrJMZpPJb\r\nrRW0gt51V3eX2+PToZvSrj8Yh6mLGaF6WWqawnbX8lpTFAl8G8YtuHZrygtk\r\nr8rusdxYYYphNW5AbI+/5YQmrfYZXvY9wrv/kcYNvyJLvFvMZ6slc5I5Ssln\r\nX6HFYTOugqqsfymrjW6+x4ZQGAwczpjadcEQ4/+naZ4Ih26plOUYFYGEpuXb\r\nKimBtjg0TnZOSCvqbKIKcubOZg5DHowW0eqBnxIHfxw07wAaNojjbkCY691v\r\nd7IjL9bnaG2WUlUy9qZb1KwsV1yyOTw+BbZZIBq7XvJGE9lmWSRCoEVbeul+\r\nfWASZ6XbWSE+A9hqSkJvqtF1JjXg9kHeMsnjoM8xBthTnwlN2iLzW9SeaAdv\r\nJpjxZjf0ZSZ/T/gLYMOJiCD48S0v/fQOt2lefRuzSxYkr6FjP6RKceGwCGTh\r\nIq04EghikDLORmkp8Yj5YKl4AKL8jTZjv4Q=\r\n=aXgR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA4iu2PGeOmSXnpe0JniaJkdwnyj7UN7w3djJ8/wgNFvAiAKrd4Ng5+iwhfvnSod+1kjBaC0Ot0fmU/Vq9H2oMDUqw=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.2-418ce4f0.0_1647969039083_0.2239608898310328"},"_hasShrinkwrap":false},"0.8.2-d93e811f.0":{"name":"gqtx","version":"0.8.2-d93e811f.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.2-d93e811f.0","dist":{"shasum":"496f3d46579df9d81eea12e84921a9ebc4e24d00","integrity":"sha512-r76By963Y3RqNsxxqCaoGhPjgBBNroPAsUcunRkPiey6fo9mNPEj1odPLpSucMdhJCaNNaDSEISmCIaFvYz5tQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.2-d93e811f.0.tgz","fileCount":13,"unpackedSize":48691,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCu/Lic9Ro/rP+qxq+dpKcQMRSMSOOnkiDYYy9D+Zx9TQIgN+eh4k7mA8uXcgFwkSz5gp5JjRXDSw8DGu4cIjK+k/8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisLvnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpz3A/9E+/hU1arA7p6MYHHDX5iUUOZv2v+qZsaecWwfX8jS02Q+Fyr\r\nWjEdGBrMp1AYMnZx8ALHFhAFLkm24MdE4TRrB0F9027FinOkwMoRKJqc4Q2i\r\nDb+Av+vV/B/dR0GyPnyrcNbDIDFJOUXCyrzFX0L+5vK/PRaMqbMmtQg2jU3r\r\nVuL9PbsxewZlU7Nb6JxFxRptHROaipbAJIRDKcdXvK11WopFY3tfuTIXrTVA\r\nj5m2JjT47SurYOQjaQR3BlGCZkMidnpOxoZ8YBgzvjnbOZS/CoOxb+6atQdN\r\nQFw/FvKmoditaQk8L7uD+GRk/45ZDAua4swy8a0rxJ8FuvcmzIN+R/aOcDQz\r\nFiw4xjb/V+Jmovot/icRk4FVyw2greNIYNDFViUUBMjpmtjQy4EHQWi8mLVx\r\nAlE9RoSm17RW6WFeejhbI8E45cCb3+dNqVJbMNiopGsRuuct5WEsPnqGKFI0\r\nxBgveLDzm9xM7SCrN5tgAt3cJZ+NGUzv1g4BNsDiP0dje5cZgh2w7G2dhLk+\r\nwsPNzZ2ryrIKaWzHR43Gnw5ggE7sdvjsfe6JDMZIjJAVFup5eGv4u3XzYMsW\r\nyvHVcs/v2zr+X6HeRbbXao2JuY0qokjgQQrvsuYmL26zclT0a9osOcKN+zSG\r\nkDpYwkfvvoAE347sRvuLXa2euToT5jisPtI=\r\n=4RKl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.2-d93e811f.0_1655749607746_0.6347056596035523"},"_hasShrinkwrap":false},"0.8.2-1c709b52.0":{"name":"gqtx","version":"0.8.2-1c709b52.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^15.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.8.2-1c709b52.0","dist":{"shasum":"ba9afde1d996a5f539510c6911c39bd7d326297a","integrity":"sha512-UCW1vyiNi4SnJRG89qIIECvoAkWbO0ab2SzO7B8UGLVz763QkuTKryegyEhEVubURPx70oJ3vbiR1QfAuZjaiQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.8.2-1c709b52.0.tgz","fileCount":13,"unpackedSize":48691,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCplWpRqEqXiBDZvC1J9ghfIap6JIl1c2U1S8f5Og07ZgIhAJnYn2Xy9zen2HDA3nEd9nPQENpSVUMLlC9OWpXipMnz"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisLwxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWBw//dZIYaNNGskygypZyfoo4Dan611OpQyTBI+Cyxw/2k3vbVS0s\r\nEFvG6hl4byNWSx4+Oo9E8Xhenp0Dd642w5efEmVjqMg8CN6rpxayVIBnRb2t\r\nasuaAHuSrFwx24z+X/u1ce7Jvxt4zKC7gp5NifEhhQG8U5fOnS/2x1TxAAIh\r\nQyvHM+7oiIvHS4KSMV11AGisZ6VtaMbFY7lz5qzTHv+hIUKZ5kBM83L3NgOm\r\n5JlyMFdJ/9UX+OSTtGRWvFl609TmGX8msXtEevIBDLXtibir9rzOcCtkDpLr\r\nmqUU4mo24eWHzzdC4dPnVyBczLew9qbm5sHvtk0dH7W3Ny6p1cDjZVI/K6zu\r\n1fsSYnfogQuaUxzvgytpckeM3shHwld5077lU2hXbH+vWHCjLpItAE+2qj9o\r\nRqIh86lxdhoOiMKv2TrxsUS6JN1HDNIOXl8MitAgBdQfem+0JYjf317OndOV\r\nwLe+qWunmlXgxycLWoARN69DSPUfIM/cQzuSzOYyPTD+dn90ItC/q+r9ysia\r\nmOPtEvh6g0MZ1Sdfzt2ij+PpxBjCOz2Ss2BTYTiouLTukfs5dh6wicGCwQQh\r\nldObZXiWAeptEOr9zPfIw8IiTUE0xlBtCT+VabjnbZISEy3D6KOfqtniOQyZ\r\n2VhSwiZgLP/KpwwNteNjOxNHWMJ2Rs8eM8o=\r\n=RMhq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.8.2-1c709b52.0_1655749681423_0.005522592575511132"},"_hasShrinkwrap":false},"0.9.1-3138c3d4.0":{"name":"gqtx","version":"0.9.1-3138c3d4.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-3138c3d4.0","dist":{"shasum":"be39d0aa68141118204e6467349331f49cc1bbb5","integrity":"sha512-6jAdwdAIcepa91TF06Uy0/k2GjpbCfc0WRXRZyHdLtXo7ivY4XLp2fIKU6bK7WNHme3+/aghPPtuJC+5DuuevA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-3138c3d4.0.tgz","fileCount":15,"unpackedSize":48836,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBbAPX4kK1Kee2iu/Ft5Czm0DwddfOvBk2FItZTzBO+lAiBL4Bu0HZWaY7i7li9fgb1YzauSK5/Ufsyq+IIn06NUSQ=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-3138c3d4.0_1692081290542_0.7689470733357573"},"_hasShrinkwrap":false},"0.9.1-0bdd7c01.0":{"name":"gqtx","version":"0.9.1-0bdd7c01.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-0bdd7c01.0","dist":{"shasum":"8c24972b06db93625f5a15de1ddba8a5ab1cc1b9","integrity":"sha512-DdFmL+fcUpPOAsN4E84pwiGTST0RCIZKyg8OialiveRba5RlT/yGtAz3vvBuGMuTirY4PFjfsrH1FHF6uv026g==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-0bdd7c01.0.tgz","fileCount":15,"unpackedSize":48973,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBySUECEfSPC73Ty7wzhV/ON19NgLbd+whD1Wr6+7qewIgf6+zhauEEsQeDgWzUV8upqUeLBZR6sLYfPS7zuQL3bY="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-0bdd7c01.0_1692082056846_0.03664973298842744"},"_hasShrinkwrap":false},"0.9.1-90435835.0":{"name":"gqtx","version":"0.9.1-90435835.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-90435835.0","dist":{"shasum":"6c0382a76db60c2ec5aeabb0786d7a97a480ae3c","integrity":"sha512-ANjxAYilnpVmialFDpppCWAQOgAe+I2LXHOFTGHOKKP0PJIpcZGx7q/pdW5GLPb20j1kXorlMqJSo6+L0gLHkQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-90435835.0.tgz","fileCount":15,"unpackedSize":48975,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgbuDwAeMFKrEnFKuqmw1V3dM9yETd6ofWRzJOd6UxyAIgFvbf+Isy9aUs5XhXMn5/KM8MmTNc2YZf/OfVCGh9VpQ="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-90435835.0_1692082258898_0.8069398363380416"},"_hasShrinkwrap":false},"0.9.1-ab5408fa.0":{"name":"gqtx","version":"0.9.1-ab5408fa.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.1.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^15.1.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-ab5408fa.0","dist":{"shasum":"f11d226731e99346cbbf43068a08ba695ac96100","integrity":"sha512-UOt7dAZ+tTQEKmXlPFPsakzcCWVYsnS06hODzfYBR8iEL08k4Dsx4V2sbi/QAKvsymktxfJ/QlTZOtQ3eZfomg==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-ab5408fa.0.tgz","fileCount":15,"unpackedSize":48959,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGiuIotfPaF/dRSYGnFGg0w0FhU/qbxaQ1xQPK8YW0WwIhALUZw3zjuLGo9AcCCxWOS693HuWXyG/y8fKySCnXeEq0"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-ab5408fa.0_1692084449698_0.5232294304897913"},"_hasShrinkwrap":false},"0.9.1-7372732c.0":{"name":"gqtx","version":"0.9.1-7372732c.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-7372732c.0","dist":{"shasum":"8e5f1fb73e7f18ef2e760aea18b50532b7ac4ee2","integrity":"sha512-VsbKe17tFk4eajkJplZPAXQFAH/EWTvGOodg8Ld7W99/iaiN5ITf/6HI/ZCtkWSi1iLY/aKLds4ofGMdeTH8Ow==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-7372732c.0.tgz","fileCount":15,"unpackedSize":48959,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC8uQJWL47RYutMNamuoVZZIMWyUnVsUXMexsyHAXMsnAiAh9z6eAtsTRRS8qu6N6q/1loyB3DIj+0h/Ifb13o0i/A=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-7372732c.0_1692084569819_0.5821748099247976"},"_hasShrinkwrap":false},"0.9.1-a8f1266f.0":{"name":"gqtx","version":"0.9.1-a8f1266f.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"27.0.4","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"27.0.2","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"4.3.2"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-a8f1266f.0","dist":{"shasum":"f251172e323d58643e97d6f17263917830569949","integrity":"sha512-pzikKF8buwfYHaAdyXOuIDmMFFanu05gLieCiZFLWhVtaDGkKRwNPTMubXaPxAwBGSz8BOX8dIScxEZ4vwKofA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-a8f1266f.0.tgz","fileCount":15,"unpackedSize":49472,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICX7W2s4YZ0+11KLGaHnwkAd1i1an3PB6I9lUtFruJDvAiEAxk7kwuUXW29vX49XnnZ+8GZopeZMLXBklX/wk65A1VY="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-a8f1266f.0_1692084894911_0.05660173631764365"},"_hasShrinkwrap":false},"0.9.1-d25fc0bf.0":{"name":"gqtx","version":"0.9.1-d25fc0bf.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-d25fc0bf.0","dist":{"shasum":"12486119261a74937b97159f0b087af88e854920","integrity":"sha512-mUNG16g+X3otpUGDnMTb60mP1y/rrsmcPekx6FludoNQxXCfkWZuLt1G81OPs5Pg5kOLoMLKrz0zeUPXqohSWA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-d25fc0bf.0.tgz","fileCount":15,"unpackedSize":50809,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID9TbZ7Ogp3H/8cpWdsLcalcfe0LxEbqmg83QhLn9FZlAiARxyzNRZLijUzhYD8xliZY0xX3XWEX/yi7uS23N6g8XQ=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-d25fc0bf.0_1692118504059_0.5835232477374532"},"_hasShrinkwrap":false},"0.9.1-28ee91ab.0":{"name":"gqtx","version":"0.9.1-28ee91ab.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-28ee91ab.0","dist":{"shasum":"cba501e6222f1baf25bafd37af449e89f1a7341c","integrity":"sha512-IoT+tAo4u0AVJYG4XrR2xCCxLXfCuDxXTZcXPUuBLWj1B4yWBX63xGiLraOUZzRusAJH9ly30NR3arfT/BcrVg==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-28ee91ab.0.tgz","fileCount":15,"unpackedSize":50809,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCw7XuKS3slmPt2nNEYZbT0eo2XdBTe0ZtyD1t0DOuYzQIgBeM6cWizccIo/GN+5gdYDgTMxtptqI9YW1EshsF3U7M="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-28ee91ab.0_1692118936512_0.20442742606844688"},"_hasShrinkwrap":false},"0.9.1-fc0f1d45.0":{"name":"gqtx","version":"0.9.1-fc0f1d45.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-fc0f1d45.0","dist":{"shasum":"4ccd6756029026a9318e9eb1c6b54b7493e6c3d5","integrity":"sha512-mQNtojy/cR/BiLNWZ5T7n4qjTatoLOBKTOHpj6zI0jBKB5miipkSKy9XNHibMR/iIE9IjpUtbDDX7IFSdQdnRw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-fc0f1d45.0.tgz","fileCount":15,"unpackedSize":50809,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBFimubXdtwhw4iDUtWBr8BojFyRzITTqOQREQs1di8dAiA1pwo1KmkjwVKl5J+yZDuRzkn3LuFMra6sfyyFVS4Q2g=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-fc0f1d45.0_1692123654575_0.2937525096234732"},"_hasShrinkwrap":false},"0.9.1-4f98955f.0":{"name":"gqtx","version":"0.9.1-4f98955f.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-4f98955f.0","dist":{"shasum":"38ac6f7b3a5a6cb69f36423a6b579b46d9b9e255","integrity":"sha512-WK0yitLAI3FISU0EOY3kN1UKL2F0aCd1GtCv3N+T9MH4e55iuglTGYFhmt1Pg2wrclcIWt93knCsjws2ke3xLA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-4f98955f.0.tgz","fileCount":15,"unpackedSize":50845,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrxvuMnaEDgia0ogewaCRFZdLDu5BLGJvHU9QmjASHngIgOoeGsEZO1ywM0dFzu73Wh55VxNizY9s8oXNdjljPTa4="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-4f98955f.0_1692125132005_0.5823575879162846"},"_hasShrinkwrap":false},"0.9.1-13f4d9d4.0":{"name":"gqtx","version":"0.9.1-13f4d9d4.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-13f4d9d4.0","dist":{"shasum":"c800ae33a70f249428a8d128139cd74e574d136d","integrity":"sha512-VupH8FqVfPJW3vlMHqPMI2BIStNiHv9tTn16ZWq4yRsrsKRBD63mlIL9TLUosDxxSl8NlTnlJat7BtzNGz2L8g==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-13f4d9d4.0.tgz","fileCount":15,"unpackedSize":50859,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDmE2KeHpZc0L4kP0X56A4BUHBdJ3ps12wHCu5Orj93pAiBWZxLuulyB0+7nsPXdZ25SnscKh6jnMG730Pnd+ZwmSg=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-13f4d9d4.0_1699203942859_0.860417409495442"},"_hasShrinkwrap":false},"0.9.1-6980048c.0":{"name":"gqtx","version":"0.9.1-6980048c.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-6980048c.0","dist":{"shasum":"62dc7e3789fe0bd76838a7e968424da11e26115d","integrity":"sha512-ybhyCbXALQIfcPdiWaN8/naBEnTxFXdENdDeUwEsqgudfcBRmCmQUm6T7jGhm27is9GY+q9+IpZGRWQ2AgNfhA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-6980048c.0.tgz","fileCount":15,"unpackedSize":50834,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3THnAtNotZau2FzV1b0eaHP9x61FFPaD9JDqiA5cjjgIhAMHD6Qsxhn02lToXpy9icYp9vWybwWQOkSCENTBhijia"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-6980048c.0_1699204207986_0.1089140467852725"},"_hasShrinkwrap":false},"0.9.1-b19576fb.0":{"name":"gqtx","version":"0.9.1-b19576fb.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-b19576fb.0","dist":{"shasum":"95552d76b03a04b4e8a7fc0c4626e8af9e389aa4","integrity":"sha512-PEx6qx5MlByqH8Lah98qVfNDEmU+AMfBF9NprVyduaj6OUsXtkMl87YwleCIgJsFsdJknjMWQ5PkcFxcjHqj1Q==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-b19576fb.0.tgz","fileCount":15,"unpackedSize":51236,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFO8kZNaddTrv3YGtRlo5sIFLF/l1IxJwP233XsgKXm2AiBZtt3NTMP4idhVPOKjr+qNY0bGBxHt8aS69wyO18pOZA=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-b19576fb.0_1699204407431_0.4957435120514573"},"_hasShrinkwrap":false},"0.9.1-f7eeeff9.0":{"name":"gqtx","version":"0.9.1-f7eeeff9.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-f7eeeff9.0","dist":{"shasum":"a1d6a16fb92b86cf6b9f39e55cf3f98eee83c633","integrity":"sha512-i7ZcIAh8t43WSHAJW0umfzoPbEwIwXmpT47qSOoty9C6KcP0qs9Np3Q3QBw4ISo5+MQXsl6yjrPBza+mq+zwog==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-f7eeeff9.0.tgz","fileCount":15,"unpackedSize":51236,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvo+nVcMRDfHagWwPx1zZuvSmncrghqTbwljAV0sDV/gIgDkkgYkwPUfh5fkPRTh10ZfggAMwNjXaX0K2MJiMjWiI="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-f7eeeff9.0_1699206669323_0.17897763599959382"},"_hasShrinkwrap":false},"0.9.1-1a6de3de.0":{"name":"gqtx","version":"0.9.1-1a6de3de.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-1a6de3de.0","dist":{"shasum":"2d1734c5862c92c5da82470ba2f5dbb65d63c91a","integrity":"sha512-N8rYNt0qIkilE6OTh4YLUtHIppo5xoWiQTGtM1AYMpSp61xe6H7Isy+X8fMvuna9ENSSFKa4z5mRS0h14AasWA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-1a6de3de.0.tgz","fileCount":15,"unpackedSize":51895,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFwVSfJe3yMsJD8mXb+uswvoWM8Vhfgb5u2Bmx/x1PitAiB8JmcsRVHwuCnienvt/QPlNC2y/xMC1ZXLPdxYJHnSpQ=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-1a6de3de.0_1701746189251_0.10754189890510668"},"_hasShrinkwrap":false},"0.9.1-4275e372.0":{"name":"gqtx","version":"0.9.1-4275e372.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-4275e372.0","dist":{"shasum":"81479d182a88534ab357b217882371a19cfb1965","integrity":"sha512-eb0w2fonPdp8DYyS1jBk+5HjWZ+etCRyLGBx7a2ZtjSOVSEXO6IWtdkH2alb2jW5S8bcAB8XeiBHGo+92wz/Pw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-4275e372.0.tgz","fileCount":15,"unpackedSize":51895,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHrq2yhoXeEMlo+SpfF/c1M7vZr2rbFWn9o9hIZ0YJrQIgQ20v9OHGB7z97eIZIDss9qJuAwG4Nr5TnMlh/jL9tk4="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-4275e372.0_1701747415131_0.9016124442712901"},"_hasShrinkwrap":false},"0.9.1-f7ceec16.0":{"name":"gqtx","version":"0.9.1-f7ceec16.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1-f7ceec16.0","dist":{"shasum":"bd04843ec4864821e88e427c41b61640f748caef","integrity":"sha512-vCNy2W5PGOlb94cmn2+zSztHeV9Zw1gfp5SHnPL0G3kxa3zblq0Y3FjIBXjXWDY5IUvcU41bOvlLC2d1lDn2nA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-f7ceec16.0.tgz","fileCount":15,"unpackedSize":51895,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBD6ueVzuCFpbeeZ4J++q6RXrDfDOWHP7oM7QQUxh3qaAiEAu8dw++jx6aJhqGpIW94gE+Gc30/yXU8HCb9NOYtkXCg="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-f7ceec16.0_1701747536472_0.6591136962470077"},"_hasShrinkwrap":false},"0.9.0":{"name":"gqtx","version":"0.9.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.0","gitHead":"f7ceec1609a8bbcb721f8dca208089ef3cb65944","dist":{"shasum":"3b7187127dd253a7b242fd1a9d99b5720cee7262","integrity":"sha512-N9VYv8I0SxSwPd8AthvcqUxSeVxGf2cL57shLmNxmXjU7gtNR0Pcwt2nGSQtkGB30l+v4NMkClxznuFPRwtp6g==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.0.tgz","fileCount":14,"unpackedSize":54643,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDXykqQo3R7nZLsYwNgcOt56tUD07JNsuLB3OnKmRe2pAiEA569ec1Q2EeiqXsllkC8PSDANkKeyRvPzUp943SGEycY="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.0_1701748335332_0.718030359821227"},"_hasShrinkwrap":false},"0.9.1-8cac6ce9.0":{"name":"gqtx","version":"0.9.1-8cac6ce9.0","type":"module","main":"cjs/index.js","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.js"},"./relay":{"import":"./relay.js","require":"./cjs/relay.js"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\nNote: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { Gql, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: '1', role: Role.Admin, name: 'Sikan' },\n  { id: '2', role: Role.User, name: 'Nicole' },\n];\n\n// We can declare the app context type once, and it will\n// be automatically inferred for all our resolvers\ndeclare module \"gqtx\" {\n  interface GqlContext {\n    viewerId: number;\n    users: User[];\n  }\n}\n\nconst RoleEnum = Gql.Enum({\n  name: 'Role',\n  description: 'A user role',\n  values: [\n    { name: 'Admin', value: Role.Admin },\n    { name: 'User', value: Role.User },\n  ],\n});\n\nconst UserType = Gql.Object<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    Gql.Field({ name: 'id', type: Gql.NonNull(Gql.ID) }),\n    Gql.Field({ name: 'role', type: Gql.NonNull(RoleEnum) }),\n    Gql.Field({ name: 'name', type: Gql.NonNull(Gql.String) }),\n  ],\n});\n\nconst Query = Gql.Query({\n  fields: [\n    Gql.Field({\n      name: 'userById',\n      type: UserType,\n      args: {\n        id: Gql.Arg({ type: Gql.NonNullInput(Gql.ID) }),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` (context) is also automatically inferred as { viewerId: number, users: User[] }\n        const user = ctx.users.find((u) => u.id === args.id);\n        // Also ensures we return an `User | null | undefined` type\n        return user\n      },\n    }),\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## `gqtx` works best with TypeScript `strict` mode\n\nWe recommend using [TypeScript strict mode](https://www.typescriptlang.org/tsconfig#strict) in order to have the best developer experience.\n\n**tsconfig.json**\n\n```diff\n{\n  \"compilerOptions\": {\n+    \"strict\": true\n  }\n}\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"Note: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.","_id":"gqtx@0.9.1-8cac6ce9.0","dist":{"shasum":"2a31d2ea77becefb115c642ed851394afef72ae8","integrity":"sha512-SGEnQxNQBFit15mdfqxc93I22N8RM1Fk8g/9F2WnYdwidG88G5bO4tpkUH2QkGBgLyxsj8STIbdSQOTWUTZdow==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-8cac6ce9.0.tgz","fileCount":16,"unpackedSize":55919,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZZ2DBeXJzmtpusiYnohcuNOOj5wCMyhXvGn8hlcLfiwIgcVQt254TBR5mumQRaKgWc9kl+jkxai3IvK9gEj7SvxE="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-8cac6ce9.0_1701748635985_0.9369672570522141"},"_hasShrinkwrap":false},"0.9.1-b5aa6892.0":{"name":"gqtx","version":"0.9.1-b5aa6892.0","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\nNote: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { Gql, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: '1', role: Role.Admin, name: 'Sikan' },\n  { id: '2', role: Role.User, name: 'Nicole' },\n];\n\n// We can declare the app context type once, and it will\n// be automatically inferred for all our resolvers\ndeclare module \"gqtx\" {\n  interface GqlContext {\n    viewerId: number;\n    users: User[];\n  }\n}\n\nconst RoleEnum = Gql.Enum({\n  name: 'Role',\n  description: 'A user role',\n  values: [\n    { name: 'Admin', value: Role.Admin },\n    { name: 'User', value: Role.User },\n  ],\n});\n\nconst UserType = Gql.Object<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    Gql.Field({ name: 'id', type: Gql.NonNull(Gql.ID) }),\n    Gql.Field({ name: 'role', type: Gql.NonNull(RoleEnum) }),\n    Gql.Field({ name: 'name', type: Gql.NonNull(Gql.String) }),\n  ],\n});\n\nconst Query = Gql.Query({\n  fields: [\n    Gql.Field({\n      name: 'userById',\n      type: UserType,\n      args: {\n        id: Gql.Arg({ type: Gql.NonNullInput(Gql.ID) }),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` (context) is also automatically inferred as { viewerId: number, users: User[] }\n        const user = ctx.users.find((u) => u.id === args.id);\n        // Also ensures we return an `User | null | undefined` type\n        return user\n      },\n    }),\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## `gqtx` works best with TypeScript `strict` mode\n\nWe recommend using [TypeScript strict mode](https://www.typescriptlang.org/tsconfig#strict) in order to have the best developer experience.\n\n**tsconfig.json**\n\n```diff\n{\n  \"compilerOptions\": {\n+    \"strict\": true\n  }\n}\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"Note: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.","_id":"gqtx@0.9.1-b5aa6892.0","dist":{"shasum":"6649bba0a7df65956e03ff718d28adad2c617218","integrity":"sha512-YWnKs6CbmhLFge/7QRwdCDDe6/hcfPh2shStO9Jb92ncHHi8aaR5CrGIMz3viD6vXyqHQM88vEhG6mhPB2G1og==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-b5aa6892.0.tgz","fileCount":16,"unpackedSize":55922,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCiOvN4UyEnzcgWd5yZjORr+q4fiW9qeskNSkAeFUOdJwIgZ3RQpk6gV+YxNEAzVZq0Vc8TtB4rV2Qbibc3og2F8kM="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-b5aa6892.0_1701801031939_0.4532121617636209"},"_hasShrinkwrap":false},"0.9.1-b5842d78.0":{"name":"gqtx","version":"0.9.1-b5842d78.0","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\nNote: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { Gql, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: '1', role: Role.Admin, name: 'Sikan' },\n  { id: '2', role: Role.User, name: 'Nicole' },\n];\n\n// We can declare the app context type once, and it will\n// be automatically inferred for all our resolvers\ndeclare module \"gqtx\" {\n  interface GqlContext {\n    viewerId: number;\n    users: User[];\n  }\n}\n\nconst RoleEnum = Gql.Enum({\n  name: 'Role',\n  description: 'A user role',\n  values: [\n    { name: 'Admin', value: Role.Admin },\n    { name: 'User', value: Role.User },\n  ],\n});\n\nconst UserType = Gql.Object<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    Gql.Field({ name: 'id', type: Gql.NonNull(Gql.ID) }),\n    Gql.Field({ name: 'role', type: Gql.NonNull(RoleEnum) }),\n    Gql.Field({ name: 'name', type: Gql.NonNull(Gql.String) }),\n  ],\n});\n\nconst Query = Gql.Query({\n  fields: [\n    Gql.Field({\n      name: 'userById',\n      type: UserType,\n      args: {\n        id: Gql.Arg({ type: Gql.NonNullInput(Gql.ID) }),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` (context) is also automatically inferred as { viewerId: number, users: User[] }\n        const user = ctx.users.find((u) => u.id === args.id);\n        // Also ensures we return an `User | null | undefined` type\n        return user\n      },\n    }),\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## `gqtx` works best with TypeScript `strict` mode\n\nWe recommend using [TypeScript strict mode](https://www.typescriptlang.org/tsconfig#strict) in order to have the best developer experience.\n\n**tsconfig.json**\n\n```diff\n{\n  \"compilerOptions\": {\n+    \"strict\": true\n  }\n}\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"Note: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.","_id":"gqtx@0.9.1-b5842d78.0","dist":{"shasum":"c112cb75f8d35eec1b73a7d6876b953383e95cdb","integrity":"sha512-q6KiHCpCQ0fX3I9YZ6z9V4wZ+dV0KVZ8c/pS/m3J86LXsVP9Y8jXEWoeQ6IaoKh8i9IryvE+XZyz2wIJe54HeQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-b5842d78.0.tgz","fileCount":15,"unpackedSize":50861,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQDho+x5zfuzfl3QOIfro5KYcGIrnTl5RCM+6g9/FbkgIhAJKHD4i3W4FgbyqyVIbPrETzjy4kgXm+o5AApifL6I96"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-b5842d78.0_1701801405725_0.5557039468650498"},"_hasShrinkwrap":false},"0.9.1-c4ab34ed.0":{"name":"gqtx","version":"0.9.1-c4ab34ed.0","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\nNote: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { Gql, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: '1', role: Role.Admin, name: 'Sikan' },\n  { id: '2', role: Role.User, name: 'Nicole' },\n];\n\n// We can declare the app context type once, and it will\n// be automatically inferred for all our resolvers\ndeclare module \"gqtx\" {\n  interface GqlContext {\n    viewerId: number;\n    users: User[];\n  }\n}\n\nconst RoleEnum = Gql.Enum({\n  name: 'Role',\n  description: 'A user role',\n  values: [\n    { name: 'Admin', value: Role.Admin },\n    { name: 'User', value: Role.User },\n  ],\n});\n\nconst UserType = Gql.Object<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    Gql.Field({ name: 'id', type: Gql.NonNull(Gql.ID) }),\n    Gql.Field({ name: 'role', type: Gql.NonNull(RoleEnum) }),\n    Gql.Field({ name: 'name', type: Gql.NonNull(Gql.String) }),\n  ],\n});\n\nconst Query = Gql.Query({\n  fields: [\n    Gql.Field({\n      name: 'userById',\n      type: UserType,\n      args: {\n        id: Gql.Arg({ type: Gql.NonNullInput(Gql.ID) }),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` (context) is also automatically inferred as { viewerId: number, users: User[] }\n        const user = ctx.users.find((u) => u.id === args.id);\n        // Also ensures we return an `User | null | undefined` type\n        return user\n      },\n    }),\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## `gqtx` works best with TypeScript `strict` mode\n\nWe recommend using [TypeScript strict mode](https://www.typescriptlang.org/tsconfig#strict) in order to have the best developer experience.\n\n**tsconfig.json**\n\n```diff\n{\n  \"compilerOptions\": {\n+    \"strict\": true\n  }\n}\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"Note: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.","_id":"gqtx@0.9.1-c4ab34ed.0","dist":{"shasum":"2a7437e4049c28a35542bdab4168ba404dfd3203","integrity":"sha512-su3GYJfT84ZGK72YZtKBRNKN9WlC3hv9YnZKgMQblkiA4iawL44Tf1JVXEV4o9Tm++Sff2+VB30BAyT1jP22zw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-c4ab34ed.0.tgz","fileCount":15,"unpackedSize":50886,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAD8Xz2RTZ1nuYTgJxSwAbxOF6GTzkn89A5i/MmN1rrbAiANdOp9kKVS4NwByAxBuLRODaGVbVkC/HG04P8rO4C6Aw=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-c4ab34ed.0_1701801631157_0.8398836998649553"},"_hasShrinkwrap":false},"0.9.1-b3f51155.0":{"name":"gqtx","version":"0.9.1-b3f51155.0","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\nNote: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { Gql, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: '1', role: Role.Admin, name: 'Sikan' },\n  { id: '2', role: Role.User, name: 'Nicole' },\n];\n\n// We can declare the app context type once, and it will\n// be automatically inferred for all our resolvers\ndeclare module \"gqtx\" {\n  interface GqlContext {\n    viewerId: number;\n    users: User[];\n  }\n}\n\nconst RoleEnum = Gql.Enum({\n  name: 'Role',\n  description: 'A user role',\n  values: [\n    { name: 'Admin', value: Role.Admin },\n    { name: 'User', value: Role.User },\n  ],\n});\n\nconst UserType = Gql.Object<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    Gql.Field({ name: 'id', type: Gql.NonNull(Gql.ID) }),\n    Gql.Field({ name: 'role', type: Gql.NonNull(RoleEnum) }),\n    Gql.Field({ name: 'name', type: Gql.NonNull(Gql.String) }),\n  ],\n});\n\nconst Query = Gql.Query({\n  fields: [\n    Gql.Field({\n      name: 'userById',\n      type: UserType,\n      args: {\n        id: Gql.Arg({ type: Gql.NonNullInput(Gql.ID) }),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` (context) is also automatically inferred as { viewerId: number, users: User[] }\n        const user = ctx.users.find((u) => u.id === args.id);\n        // Also ensures we return an `User | null | undefined` type\n        return user\n      },\n    }),\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## `gqtx` works best with TypeScript `strict` mode\n\nWe recommend using [TypeScript strict mode](https://www.typescriptlang.org/tsconfig#strict) in order to have the best developer experience.\n\n**tsconfig.json**\n\n```diff\n{\n  \"compilerOptions\": {\n+    \"strict\": true\n  }\n}\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"Note: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.","_id":"gqtx@0.9.1-b3f51155.0","dist":{"shasum":"5dee0abe9cdfd27af888a418331b359317a17d3d","integrity":"sha512-LzIUusqpHhbpvarb7HmbYnY/yq56yI1yeeTPs3Q0DnqoGa9/ASvHEM3vzBmepsaOHMdL5kRoNM+1PBNiDRlFTA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-b3f51155.0.tgz","fileCount":15,"unpackedSize":50889,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEPAYlmHArGAZW7qHipF5NSN+1K34EtFZh3VsJF1/tSQIhAPaOtAcrPh0YI1n/4xGVOqDvob6gmRl1XKs52qhihdow"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-b3f51155.0_1701802105575_0.384421685260818"},"_hasShrinkwrap":false},"0.9.1-ea94d732.0":{"name":"gqtx","version":"0.9.1-ea94d732.0","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\nNote: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { Gql, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: '1', role: Role.Admin, name: 'Sikan' },\n  { id: '2', role: Role.User, name: 'Nicole' },\n];\n\n// We can declare the app context type once, and it will\n// be automatically inferred for all our resolvers\ndeclare module \"gqtx\" {\n  interface GqlContext {\n    viewerId: number;\n    users: User[];\n  }\n}\n\nconst RoleEnum = Gql.Enum({\n  name: 'Role',\n  description: 'A user role',\n  values: [\n    { name: 'Admin', value: Role.Admin },\n    { name: 'User', value: Role.User },\n  ],\n});\n\nconst UserType = Gql.Object<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    Gql.Field({ name: 'id', type: Gql.NonNull(Gql.ID) }),\n    Gql.Field({ name: 'role', type: Gql.NonNull(RoleEnum) }),\n    Gql.Field({ name: 'name', type: Gql.NonNull(Gql.String) }),\n  ],\n});\n\nconst Query = Gql.Query({\n  fields: [\n    Gql.Field({\n      name: 'userById',\n      type: UserType,\n      args: {\n        id: Gql.Arg({ type: Gql.NonNullInput(Gql.ID) }),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` (context) is also automatically inferred as { viewerId: number, users: User[] }\n        const user = ctx.users.find((u) => u.id === args.id);\n        // Also ensures we return an `User | null | undefined` type\n        return user\n      },\n    }),\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## `gqtx` works best with TypeScript `strict` mode\n\nWe recommend using [TypeScript strict mode](https://www.typescriptlang.org/tsconfig#strict) in order to have the best developer experience.\n\n**tsconfig.json**\n\n```diff\n{\n  \"compilerOptions\": {\n+    \"strict\": true\n  }\n}\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"Note: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.","_id":"gqtx@0.9.1-ea94d732.0","dist":{"shasum":"c1be589b59dd234b324e88f01a41699a9bae84c8","integrity":"sha512-lLI82j575OiSlznnyvbp6MOP6W94O9G3FmO98joWl3+8ARL69IgIj/q76bDIPKSfiQqyAtsbyQ3wvAzAdePmWQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-ea94d732.0.tgz","fileCount":15,"unpackedSize":50889,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCK5URQI/qltqRWjamuomM7wtT0VJ3o3BwIPixCD1kIxwIhAMr87RtAbBdVOIoEA8ouUoHk2nxuawiWtqqODkf40K/9"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-ea94d732.0_1701802431667_0.9591733720847953"},"_hasShrinkwrap":false},"0.9.1-ad0529f1.0":{"name":"gqtx","version":"0.9.1-ad0529f1.0","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\nNote: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { Gql, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: '1', role: Role.Admin, name: 'Sikan' },\n  { id: '2', role: Role.User, name: 'Nicole' },\n];\n\n// We can declare the app context type once, and it will\n// be automatically inferred for all our resolvers\ndeclare module \"gqtx\" {\n  interface GqlContext {\n    viewerId: number;\n    users: User[];\n  }\n}\n\nconst RoleEnum = Gql.Enum({\n  name: 'Role',\n  description: 'A user role',\n  values: [\n    { name: 'Admin', value: Role.Admin },\n    { name: 'User', value: Role.User },\n  ],\n});\n\nconst UserType = Gql.Object<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    Gql.Field({ name: 'id', type: Gql.NonNull(Gql.ID) }),\n    Gql.Field({ name: 'role', type: Gql.NonNull(RoleEnum) }),\n    Gql.Field({ name: 'name', type: Gql.NonNull(Gql.String) }),\n  ],\n});\n\nconst Query = Gql.Query({\n  fields: [\n    Gql.Field({\n      name: 'userById',\n      type: UserType,\n      args: {\n        id: Gql.Arg({ type: Gql.NonNullInput(Gql.ID) }),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` (context) is also automatically inferred as { viewerId: number, users: User[] }\n        const user = ctx.users.find((u) => u.id === args.id);\n        // Also ensures we return an `User | null | undefined` type\n        return user\n      },\n    }),\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## `gqtx` works best with TypeScript `strict` mode\n\nWe recommend using [TypeScript strict mode](https://www.typescriptlang.org/tsconfig#strict) in order to have the best developer experience.\n\n**tsconfig.json**\n\n```diff\n{\n  \"compilerOptions\": {\n+    \"strict\": true\n  }\n}\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"Note: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.","_id":"gqtx@0.9.1-ad0529f1.0","dist":{"shasum":"3c7441cc75db925b6afedc521e2d4e77cad8d16b","integrity":"sha512-xFCuJAl7YC2ngAqOb7k5lWuqRy0hhI3AJDVQDepSHT+1j6YhO4Z+LgsLUb7cwRxuFQDvNFq2KhJaOeXJUYc7Rg==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-ad0529f1.0.tgz","fileCount":16,"unpackedSize":55950,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDk8GvEY+mbAu2nI9H7XGsHuna83HzgRR3ioJpsOtvzVwIgQ3RZtwHzYMcBnSIciJLXtI56XwerHqJJDINZO476Im4="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-ad0529f1.0_1701802621899_0.7698730271854446"},"_hasShrinkwrap":false},"0.9.1-7cba2e90.0":{"name":"gqtx","version":"0.9.1-7cba2e90.0","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\nNote: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { Gql, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: '1', role: Role.Admin, name: 'Sikan' },\n  { id: '2', role: Role.User, name: 'Nicole' },\n];\n\n// We can declare the app context type once, and it will\n// be automatically inferred for all our resolvers\ndeclare module \"gqtx\" {\n  interface GqlContext {\n    viewerId: number;\n    users: User[];\n  }\n}\n\nconst RoleEnum = Gql.Enum({\n  name: 'Role',\n  description: 'A user role',\n  values: [\n    { name: 'Admin', value: Role.Admin },\n    { name: 'User', value: Role.User },\n  ],\n});\n\nconst UserType = Gql.Object<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    Gql.Field({ name: 'id', type: Gql.NonNull(Gql.ID) }),\n    Gql.Field({ name: 'role', type: Gql.NonNull(RoleEnum) }),\n    Gql.Field({ name: 'name', type: Gql.NonNull(Gql.String) }),\n  ],\n});\n\nconst Query = Gql.Query({\n  fields: [\n    Gql.Field({\n      name: 'userById',\n      type: UserType,\n      args: {\n        id: Gql.Arg({ type: Gql.NonNullInput(Gql.ID) }),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` (context) is also automatically inferred as { viewerId: number, users: User[] }\n        const user = ctx.users.find((u) => u.id === args.id);\n        // Also ensures we return an `User | null | undefined` type\n        return user\n      },\n    }),\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## `gqtx` works best with TypeScript `strict` mode\n\nWe recommend using [TypeScript strict mode](https://www.typescriptlang.org/tsconfig#strict) in order to have the best developer experience.\n\n**tsconfig.json**\n\n```diff\n{\n  \"compilerOptions\": {\n+    \"strict\": true\n  }\n}\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"Note: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.","_id":"gqtx@0.9.1-7cba2e90.0","dist":{"shasum":"c1aa377120f2c3808d0cdeeaa099ad5dc8b2c91e","integrity":"sha512-L8sPnJAI5vVH4d6SKIHO4ecc3cSPC6Py2xaj/AWWRDGjFASF0CAFQwK92oYX3BCURk9bApzomFI4c8JayWm3qA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-7cba2e90.0.tgz","fileCount":16,"unpackedSize":55950,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFABiZ2XqIYGElHz+lfFspzLuk+xhvV9tWyZZoQ17Jn3AiByas/xQ+Y9VjpLYv6D9hSB/CJWtGsT6BTzE2SlGX/D0Q=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-7cba2e90.0_1701803006168_0.9412721795816368"},"_hasShrinkwrap":false},"0.9.1-92c61959.0":{"name":"gqtx","version":"0.9.1-92c61959.0","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\nNote: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { Gql, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: '1', role: Role.Admin, name: 'Sikan' },\n  { id: '2', role: Role.User, name: 'Nicole' },\n];\n\n// We can declare the app context type once, and it will\n// be automatically inferred for all our resolvers\ndeclare module \"gqtx\" {\n  interface GqlContext {\n    viewerId: number;\n    users: User[];\n  }\n}\n\nconst RoleEnum = Gql.Enum({\n  name: 'Role',\n  description: 'A user role',\n  values: [\n    { name: 'Admin', value: Role.Admin },\n    { name: 'User', value: Role.User },\n  ],\n});\n\nconst UserType = Gql.Object<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    Gql.Field({ name: 'id', type: Gql.NonNull(Gql.ID) }),\n    Gql.Field({ name: 'role', type: Gql.NonNull(RoleEnum) }),\n    Gql.Field({ name: 'name', type: Gql.NonNull(Gql.String) }),\n  ],\n});\n\nconst Query = Gql.Query({\n  fields: [\n    Gql.Field({\n      name: 'userById',\n      type: UserType,\n      args: {\n        id: Gql.Arg({ type: Gql.NonNullInput(Gql.ID) }),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` (context) is also automatically inferred as { viewerId: number, users: User[] }\n        const user = ctx.users.find((u) => u.id === args.id);\n        // Also ensures we return an `User | null | undefined` type\n        return user\n      },\n    }),\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## `gqtx` works best with TypeScript `strict` mode\n\nWe recommend using [TypeScript strict mode](https://www.typescriptlang.org/tsconfig#strict) in order to have the best developer experience.\n\n**tsconfig.json**\n\n```diff\n{\n  \"compilerOptions\": {\n+    \"strict\": true\n  }\n}\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"Note: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.","_id":"gqtx@0.9.1-92c61959.0","dist":{"shasum":"2e978ead361507ba1bd12aa1c616e398a0e24157","integrity":"sha512-gtyfpvtjHMRGK5HBh3vWgn4Vahf6ggOm5jr7rx69AdtoAQhqp8o9w+gXxkKL26cAVY2icLX6K2eJ2e2hA71LCg==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-92c61959.0.tgz","fileCount":16,"unpackedSize":55950,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKEcbiHqtOKRfu3bnEyt6UryyOVjClSSrdTExMQW+aWwIgP1OKX8EDHThZtsOQKLjiz8T/3cVakvPVrLwgxriXgW4="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-92c61959.0_1701803720750_0.8716932853068369"},"_hasShrinkwrap":false},"0.9.1-c6b228ee.0":{"name":"gqtx","version":"0.9.1-c6b228ee.0","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\nNote: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { Gql, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: '1', role: Role.Admin, name: 'Sikan' },\n  { id: '2', role: Role.User, name: 'Nicole' },\n];\n\n// We can declare the app context type once, and it will\n// be automatically inferred for all our resolvers\ndeclare module \"gqtx\" {\n  interface GqlContext {\n    viewerId: number;\n    users: User[];\n  }\n}\n\nconst RoleEnum = Gql.Enum({\n  name: 'Role',\n  description: 'A user role',\n  values: [\n    { name: 'Admin', value: Role.Admin },\n    { name: 'User', value: Role.User },\n  ],\n});\n\nconst UserType = Gql.Object<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    Gql.Field({ name: 'id', type: Gql.NonNull(Gql.ID) }),\n    Gql.Field({ name: 'role', type: Gql.NonNull(RoleEnum) }),\n    Gql.Field({ name: 'name', type: Gql.NonNull(Gql.String) }),\n  ],\n});\n\nconst Query = Gql.Query({\n  fields: [\n    Gql.Field({\n      name: 'userById',\n      type: UserType,\n      args: {\n        id: Gql.Arg({ type: Gql.NonNullInput(Gql.ID) }),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` (context) is also automatically inferred as { viewerId: number, users: User[] }\n        const user = ctx.users.find((u) => u.id === args.id);\n        // Also ensures we return an `User | null | undefined` type\n        return user\n      },\n    }),\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## `gqtx` works best with TypeScript `strict` mode\n\nWe recommend using [TypeScript strict mode](https://www.typescriptlang.org/tsconfig#strict) in order to have the best developer experience.\n\n**tsconfig.json**\n\n```diff\n{\n  \"compilerOptions\": {\n+    \"strict\": true\n  }\n}\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"Note: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.","_id":"gqtx@0.9.1-c6b228ee.0","dist":{"shasum":"28c6547d3843fb8e17cef47125a73537b7630842","integrity":"sha512-nDl1QRXwnFANa8aFYuvPYGzj30d5mEJBf8bY6Ol6LHLnipybMug6KMC/nVD6bad/RC0U8V5fzzyyMzgUoebkfA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1-c6b228ee.0.tgz","fileCount":16,"unpackedSize":55950,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLlSnDv9lxlaX0ahLIAWYLXBpCk2i2IVUdcLPQjpUjawIhAOd/DYuVWIeyRkbQwXhH+Pm6ltduMIxOPDKxs5Mh+c13"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1-c6b228ee.0_1701804039850_0.4897647778385017"},"_hasShrinkwrap":false},"0.9.2-528a0e50.0":{"name":"gqtx","version":"0.9.2-528a0e50.0","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\nNote: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { Gql, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: '1', role: Role.Admin, name: 'Sikan' },\n  { id: '2', role: Role.User, name: 'Nicole' },\n];\n\n// We can declare the app context type once, and it will\n// be automatically inferred for all our resolvers\ndeclare module \"gqtx\" {\n  interface GqlContext {\n    viewerId: number;\n    users: User[];\n  }\n}\n\nconst RoleEnum = Gql.Enum({\n  name: 'Role',\n  description: 'A user role',\n  values: [\n    { name: 'Admin', value: Role.Admin },\n    { name: 'User', value: Role.User },\n  ],\n});\n\nconst UserType = Gql.Object<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    Gql.Field({ name: 'id', type: Gql.NonNull(Gql.ID) }),\n    Gql.Field({ name: 'role', type: Gql.NonNull(RoleEnum) }),\n    Gql.Field({ name: 'name', type: Gql.NonNull(Gql.String) }),\n  ],\n});\n\nconst Query = Gql.Query({\n  fields: [\n    Gql.Field({\n      name: 'userById',\n      type: UserType,\n      args: {\n        id: Gql.Arg({ type: Gql.NonNullInput(Gql.ID) }),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` (context) is also automatically inferred as { viewerId: number, users: User[] }\n        const user = ctx.users.find((u) => u.id === args.id);\n        // Also ensures we return an `User | null | undefined` type\n        return user\n      },\n    }),\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## `gqtx` works best with TypeScript `strict` mode\n\nWe recommend using [TypeScript strict mode](https://www.typescriptlang.org/tsconfig#strict) in order to have the best developer experience.\n\n**tsconfig.json**\n\n```diff\n{\n  \"compilerOptions\": {\n+    \"strict\": true\n  }\n}\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"Note: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.","_id":"gqtx@0.9.2-528a0e50.0","dist":{"shasum":"8b17cd0b60adf8b66118e1703c8101c12ad51210","integrity":"sha512-G5EP7MOzb/McGTmfzz3yGu4vIL42JAECZzRWgYevZH/W303p6ubMllPEeXess7kLRUSCyhJHzJufnNg0oSolWw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.2-528a0e50.0.tgz","fileCount":16,"unpackedSize":55950,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAhUfpc/KGyRgn4dCj/pjHOkEikv45pr2I+WyPJXrdHKAiBMFev6gfKIxzpvpx7plt4THlgFmEsQPqtT8kPDPmr/Rg=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.2-528a0e50.0_1701804138716_0.38369031224100536"},"_hasShrinkwrap":false},"0.9.1":{"name":"gqtx","version":"0.9.1","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.1","gitHead":"528a0e504f4c2277a4fb632c78efba99c629a997","dist":{"shasum":"08da75b9aa4e824f5b58482b1110455ea31fa1f0","integrity":"sha512-aTlTNnI/o1oEof+N+7HC9K7ld5yJlDofjaq2t76Vx26RYcG+cthqamQscVcHD+Kh/laUblf2Yv2C9xZ33fI0bw==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.1.tgz","fileCount":21,"unpackedSize":68591,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCG1ELLXMgEwz3Ch18I/g1Ro/PZVqURw1JzzY0I68wJAIhANhseyzLA/kZ+BMayq8LRDM5Fdr1HzhKPG9XFymUzRym"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.1_1701804149374_0.33113548332093656"},"_hasShrinkwrap":false},"0.9.2":{"name":"gqtx","version":"0.9.2","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.2","gitHead":"8a8708fae25aa58255edbbb1490ddb1f45996f02","dist":{"shasum":"92ba0451f03870f1bd4f5a1b054222e54feeb891","integrity":"sha512-ddEcUePNrdA7SoVbefyhZC4LMR7wMxOJj4JvbjCj88sOyYOsk97Tf5tdJxCaHS2IZbk/T+2SE/BqKL3ALn0rkA==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.2.tgz","fileCount":21,"unpackedSize":68591,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmElswSuH95IYQ3FutImM5VjvoP8JbmJIdCfeU8XbK/QIhANVwXNXipEg5+dMTJjbrXR57iDXoRLqDkOMmEO3kU5Nl"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.2_1701804303819_0.6496595876943387"},"_hasShrinkwrap":false},"0.9.3":{"name":"gqtx","version":"0.9.3","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"_id":"gqtx@0.9.3","gitHead":"a4ff218e66b36019fc29d5598e204cde68c3b1c5","dist":{"shasum":"e6c8eadac0689ffb50a219aff8ab842c2655a17c","integrity":"sha512-LQii9isCdtVuUg1RC9wJy1L8o8bWEgubs2yQ/+INnvenqUxjTb/5rObmreDT2fxe07CTCaufPy64JYg1bcoT4g==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.3.tgz","fileCount":14,"unpackedSize":54674,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpgNRKTibvekrs6Vij+kCKbjguAwezv6QTcoGNAP8ZDwIgUib2iBmIx2/I9n6FmPtx6TgN4A9sSjbvWBS9B0YX5NQ="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.3_1701804493967_0.6980073533533462"},"_hasShrinkwrap":false},"0.9.2-e8f00210.0":{"name":"gqtx","version":"0.9.2-e8f00210.0","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\nNote: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { Gql, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: '1', role: Role.Admin, name: 'Sikan' },\n  { id: '2', role: Role.User, name: 'Nicole' },\n];\n\n// We can declare the app context type once, and it will\n// be automatically inferred for all our resolvers\ndeclare module \"gqtx\" {\n  interface GqlContext {\n    viewerId: number;\n    users: User[];\n  }\n}\n\nconst RoleEnum = Gql.Enum({\n  name: 'Role',\n  description: 'A user role',\n  values: [\n    { name: 'Admin', value: Role.Admin },\n    { name: 'User', value: Role.User },\n  ],\n});\n\nconst UserType = Gql.Object<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    Gql.Field({ name: 'id', type: Gql.NonNull(Gql.ID) }),\n    Gql.Field({ name: 'role', type: Gql.NonNull(RoleEnum) }),\n    Gql.Field({ name: 'name', type: Gql.NonNull(Gql.String) }),\n  ],\n});\n\nconst Query = Gql.Query({\n  fields: [\n    Gql.Field({\n      name: 'userById',\n      type: UserType,\n      args: {\n        id: Gql.Arg({ type: Gql.NonNullInput(Gql.ID) }),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` (context) is also automatically inferred as { viewerId: number, users: User[] }\n        const user = ctx.users.find((u) => u.id === args.id);\n        // Also ensures we return an `User | null | undefined` type\n        return user\n      },\n    }),\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## `gqtx` works best with TypeScript `strict` mode\n\nWe recommend using [TypeScript strict mode](https://www.typescriptlang.org/tsconfig#strict) in order to have the best developer experience.\n\n**tsconfig.json**\n\n```diff\n{\n  \"compilerOptions\": {\n+    \"strict\": true\n  }\n}\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"Note: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.","_id":"gqtx@0.9.2-e8f00210.0","dist":{"shasum":"9f2776771672b5890708e96aa6437c6be4893941","integrity":"sha512-lY66w5WV1SEaayRXsa3u3v+0tNpocFuSwnFc9SpiPAEWFhmPsSrvaIaZCJKya+ckNmufHaenQCR2XnuRASPC3w==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.2-e8f00210.0.tgz","fileCount":16,"unpackedSize":55950,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXSm6uXNInSU7MS3CtbBlyQpXKDDSTIS+aaWJL58SHIAIhAJWmIZ9L8qfxY3XNt6SQ1NTzFMfZaEzzoCqh1gb9+MS9"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.2-e8f00210.0_1701805040703_0.22018757257922417"},"_hasShrinkwrap":false},"0.9.4-a59e0642.0":{"name":"gqtx","version":"0.9.4-a59e0642.0","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\nNote: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { Gql, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: '1', role: Role.Admin, name: 'Sikan' },\n  { id: '2', role: Role.User, name: 'Nicole' },\n];\n\n// We can declare the app context type once, and it will\n// be automatically inferred for all our resolvers\ndeclare module \"gqtx\" {\n  interface GqlContext {\n    viewerId: number;\n    users: User[];\n  }\n}\n\nconst RoleEnum = Gql.Enum({\n  name: 'Role',\n  description: 'A user role',\n  values: [\n    { name: 'Admin', value: Role.Admin },\n    { name: 'User', value: Role.User },\n  ],\n});\n\nconst UserType = Gql.Object<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    Gql.Field({ name: 'id', type: Gql.NonNull(Gql.ID) }),\n    Gql.Field({ name: 'role', type: Gql.NonNull(RoleEnum) }),\n    Gql.Field({ name: 'name', type: Gql.NonNull(Gql.String) }),\n  ],\n});\n\nconst Query = Gql.Query({\n  fields: [\n    Gql.Field({\n      name: 'userById',\n      type: UserType,\n      args: {\n        id: Gql.Arg({ type: Gql.NonNullInput(Gql.ID) }),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` (context) is also automatically inferred as { viewerId: number, users: User[] }\n        const user = ctx.users.find((u) => u.id === args.id);\n        // Also ensures we return an `User | null | undefined` type\n        return user\n      },\n    }),\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## `gqtx` works best with TypeScript `strict` mode\n\nWe recommend using [TypeScript strict mode](https://www.typescriptlang.org/tsconfig#strict) in order to have the best developer experience.\n\n**tsconfig.json**\n\n```diff\n{\n  \"compilerOptions\": {\n+    \"strict\": true\n  }\n}\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"Note: 0.9.0 contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.","_id":"gqtx@0.9.4-a59e0642.0","dist":{"shasum":"5757c82ea774d3072bcbf45d7f265cdb8a1fa0b1","integrity":"sha512-CnjZhFhGtZPiqQE/8/2MyHULT3eKVEzXDRxzhvK5bJeniOc6kJktzrwIREBLb7MgtgS1BK3O19gip8uzLunPBg==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.4-a59e0642.0.tgz","fileCount":16,"unpackedSize":55950,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDfKV6zuiHmwgNITb80EmHlx9+AHj7T4bnjW1UY/I33xAiAeHs3a3yVJzC7izlfTEGfQ02jAc+BUUGf6djdhSYEnwA=="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.4-a59e0642.0_1701805104553_0.9882651150013875"},"_hasShrinkwrap":false},"0.9.4-cd9c5f90.0":{"name":"gqtx","version":"0.9.4-cd9c5f90.0","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\nNote: 0.9.x contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { Gql, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: '1', role: Role.Admin, name: 'Sikan' },\n  { id: '2', role: Role.User, name: 'Nicole' },\n];\n\n// We can declare the app context type once, and it will\n// be automatically inferred for all our resolvers\ndeclare module \"gqtx\" {\n  interface GqlContext {\n    viewerId: number;\n    users: User[];\n  }\n}\n\nconst RoleEnum = Gql.Enum({\n  name: 'Role',\n  description: 'A user role',\n  values: [\n    { name: 'Admin', value: Role.Admin },\n    { name: 'User', value: Role.User },\n  ],\n});\n\nconst UserType = Gql.Object<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    Gql.Field({ name: 'id', type: Gql.NonNull(Gql.ID) }),\n    Gql.Field({ name: 'role', type: Gql.NonNull(RoleEnum) }),\n    Gql.Field({ name: 'name', type: Gql.NonNull(Gql.String) }),\n  ],\n});\n\nconst Query = Gql.Query({\n  fields: [\n    Gql.Field({\n      name: 'userById',\n      type: UserType,\n      args: {\n        id: Gql.Arg({ type: Gql.NonNullInput(Gql.ID) }),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` (context) is also automatically inferred as { viewerId: number, users: User[] }\n        const user = ctx.users.find((u) => u.id === args.id);\n        // Also ensures we return an `User | null | undefined` type\n        return user\n      },\n    }),\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## `gqtx` works best with TypeScript `strict` mode\n\nWe recommend using [TypeScript strict mode](https://www.typescriptlang.org/tsconfig#strict) in order to have the best developer experience.\n\n**tsconfig.json**\n\n```diff\n{\n  \"compilerOptions\": {\n+    \"strict\": true\n  }\n}\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"Note: 0.9.x contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.","_id":"gqtx@0.9.4-cd9c5f90.0","dist":{"shasum":"759f756dd66ca34a9e8ad5e970d314cbc0d55b2a","integrity":"sha512-3RJ1ZwakIFeiUFrSn4qpiH3TtRDndarf4bPM+lvyRRSm4M/k0gygMn1RAAgHrqRbJjDC73OWXEM6NSaHKW4/dg==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.4-cd9c5f90.0.tgz","fileCount":16,"unpackedSize":55950,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLdWhwTCcENknQ+cHTbuull9bnvWQETu9WaXtARc11/QIhAOwjl043N4IdQzwCrUKaCKQIiJooKiF+3ruoj6oRcGLr"}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.4-cd9c5f90.0_1701805126612_0.7292912522340504"},"_hasShrinkwrap":false},"0.9.4-4e327db6.0":{"name":"gqtx","version":"0.9.4-4e327db6.0","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./cjs/index.cjs"},"./relay":{"import":"./relay.js","require":"./cjs/relay.cjs"},"./package.json":"./package.json","./":"./"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\nNote: 0.9.x contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { Gql, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: '1', role: Role.Admin, name: 'Sikan' },\n  { id: '2', role: Role.User, name: 'Nicole' },\n];\n\n// We can declare the app context type once, and it will\n// be automatically inferred for all our resolvers\ndeclare module \"gqtx\" {\n  interface GqlContext {\n    viewerId: number;\n    users: User[];\n  }\n}\n\nconst RoleEnum = Gql.Enum({\n  name: 'Role',\n  description: 'A user role',\n  values: [\n    { name: 'Admin', value: Role.Admin },\n    { name: 'User', value: Role.User },\n  ],\n});\n\nconst UserType = Gql.Object<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    Gql.Field({ name: 'id', type: Gql.NonNull(Gql.ID) }),\n    Gql.Field({ name: 'role', type: Gql.NonNull(RoleEnum) }),\n    Gql.Field({ name: 'name', type: Gql.NonNull(Gql.String) }),\n  ],\n});\n\nconst Query = Gql.Query({\n  fields: [\n    Gql.Field({\n      name: 'userById',\n      type: UserType,\n      args: {\n        id: Gql.Arg({ type: Gql.NonNullInput(Gql.ID) }),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` (context) is also automatically inferred as { viewerId: number, users: User[] }\n        const user = ctx.users.find((u) => u.id === args.id);\n        // Also ensures we return an `User | null | undefined` type\n        return user\n      },\n    }),\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## `gqtx` works best with TypeScript `strict` mode\n\nWe recommend using [TypeScript strict mode](https://www.typescriptlang.org/tsconfig#strict) in order to have the best developer experience.\n\n**tsconfig.json**\n\n```diff\n{\n  \"compilerOptions\": {\n+    \"strict\": true\n  }\n}\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"Note: 0.9.x contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.","_id":"gqtx@0.9.4-4e327db6.0","dist":{"shasum":"c63ac94888164c3d76991fcfa90ced3df2870973","integrity":"sha512-m8vPwpIu8SoSFxs+204y6gqKnzKLM6bdS/Rg2rW6R3dBPPiqUGTcQSj5zPUZQQC4co6ZRpVzTR0YY2ZDmzCOjg==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.4-4e327db6.0.tgz","fileCount":16,"unpackedSize":56018,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH34rxBljxjCKThVsCVqbVUOUYCw2odJmDgmGFqOc8YUAiEA2h2sIb5cWpz0e+Br7HFY88kIRn3r8cSqL4kdJldfhdw="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.4-4e327db6.0_1702031674794_0.9582319335740508"},"_hasShrinkwrap":false},"0.9.4-91f52af3.0":{"name":"gqtx","version":"0.9.4-91f52af3.0","type":"module","main":"cjs/index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":{"types":"./index.d.ts","default":"./index.js"},"require":{"types":"./cjs/index.d.ts","default":"./cjs/index.cjs"}},"./relay":{"import":{"types":"./relay.d.ts","default":"./relay.js"},"require":{"types":"./cjs/relay.d.ts","default":"./cjs/relay.cjs"}},"./package.json":"./package.json"},"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"},"license":"MIT","keywords":["graphql","typescript","graphql-server"],"devDependencies":{"@rollup/plugin-typescript":"^8.2.0","@types/express":"^4.17.1","@types/jest":"26.0.23","@types/node":"15.12.1","cross-env":"7.0.3","express":"^4.17.1","express-graphql":"^0.9.0","graphql":"^16.7.0","jest":"29.6.2","prettier":"2.3.1","rollup":"^2.39.0","ts-jest":"29.1.1","ts-node":"^10.0.0","tslib":"^2.1.0","typescript":"5.1.6"},"peerDependencies":{"graphql":"^16.7.0"},"scripts":{"build:cjs":"cross-env MODE=cjs rollup -c","build:esm":"rollup -c","build":"yarn build:cjs && yarn build:esm","test":"jest","test:api":"tsc --project ./test-api/tsconfig.json"},"readmeFilename":"README.md","readme":"#### [Why another GraphqQL Server?](https://github.com/sikanhe/gqtx/blob/master/WHY.md)\nNote: 0.9.x contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.\n\n## Getting Started\n\n<p align=\"center\">\n<code>yarn add gqtx</code>\n</p>\n\n## Type-safety without manual work\n\n`gqtx` is a thin layer on top of `graphql-js` for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw `graphql-js` schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety.\n\nIf a schema compiles, the following holds:\n\n- The type of a field agrees with the return type of the resolver.\n- The arguments of a field agrees with the accepted arguments of the resolver.\n- The source of a field agrees with the type of the object to which it belongs.\n- The return type of the resolver will not be input types (InputObject)\n- The arguments of a field will not be abstract types (Interface, Union)\n- The context argument for all resolver functions in a schema agree.\n\nMost importantly, we achieve all this _without_ having to:\n\n- Set up code generation tools\n- Write SDL and having your schema partially defined in code and in a DSL file\n- Require special compiler magic such as `reflect-metadata` and decorators\n\n### What does it look like?\n\n```ts\nimport { Gql, buildGraphQLSchema } from 'gqtx';\n\nenum Role {\n  Admin,\n  User,\n}\n\ntype User = {\n  id: string;\n  role: Role;\n  name: string;\n};\n\nconst users: User[] = [\n  { id: '1', role: Role.Admin, name: 'Sikan' },\n  { id: '2', role: Role.User, name: 'Nicole' },\n];\n\n// We can declare the app context type once, and it will\n// be automatically inferred for all our resolvers\ndeclare module \"gqtx\" {\n  interface GqlContext {\n    viewerId: number;\n    users: User[];\n  }\n}\n\nconst RoleEnum = Gql.Enum({\n  name: 'Role',\n  description: 'A user role',\n  values: [\n    { name: 'Admin', value: Role.Admin },\n    { name: 'User', value: Role.User },\n  ],\n});\n\nconst UserType = Gql.Object<User>({\n  name: 'User',\n  description: 'A User',\n  fields: () => [\n    Gql.Field({ name: 'id', type: Gql.NonNull(Gql.ID) }),\n    Gql.Field({ name: 'role', type: Gql.NonNull(RoleEnum) }),\n    Gql.Field({ name: 'name', type: Gql.NonNull(Gql.String) }),\n  ],\n});\n\nconst Query = Gql.Query({\n  fields: [\n    Gql.Field({\n      name: 'userById',\n      type: UserType,\n      args: {\n        id: Gql.Arg({ type: Gql.NonNullInput(Gql.ID) }),\n      },\n      resolve: (_, args, ctx) => {\n        // `args` is automatically inferred as { id: string }\n        // `ctx` (context) is also automatically inferred as { viewerId: number, users: User[] }\n        const user = ctx.users.find((u) => u.id === args.id);\n        // Also ensures we return an `User | null | undefined` type\n        return user\n      },\n    }),\n  ],\n});\n\nconst schema = buildGraphQLSchema({\n  query: Query,\n});\n```\n\n#### Use your favorite server option to serve the schema!\n\n```ts\nimport express from 'express';\nimport graphqlHTTP from 'express-graphql';\n\nconst app = express();\n\napp.use(\n  '/graphql',\n  graphqlHTTP({\n    schema,\n    graphiql: true,\n  })\n);\n\napp.listen(4000);\n```\n\n## `gqtx` works best with TypeScript `strict` mode\n\nWe recommend using [TypeScript strict mode](https://www.typescriptlang.org/tsconfig#strict) in order to have the best developer experience.\n\n**tsconfig.json**\n\n```diff\n{\n  \"compilerOptions\": {\n+    \"strict\": true\n  }\n}\n```\n\n## To Recap\n\n- We created an intermediate representation of a GraphQL schema via the helper functions exported by this library.\n- Then, we converted the schema to a real graphql-js schema by calling `buildGraphQLSchema` at server startup time.\n- Used existing express middleware `express-graphql` to server our schema with `graphiql` explorer\n- That's it! We get a fully type-safe server with almost zero type annotation needed\n","description":"Note: 0.9.x contains breaking API changes. Go [here](https://github.com/sikanhe/gqtx/blob/1c709b529fe0b333b906f2b226039f80cfd540d5/README.md) for previous readme.","_id":"gqtx@0.9.4-91f52af3.0","dist":{"shasum":"5d60da7f95ae34a58c09d21232bf9ec18e91eeb7","integrity":"sha512-k75I4eCZ/iAl/pwBHqVvlDY5W0Hv3gvOwx0osVhWNU/Z3n9Y3ByflQCyvJomG61Z+E/eQHJPk7iTQcCo+1EECQ==","tarball":"https://registry.npmjs.org/gqtx/-/gqtx-0.9.4-91f52af3.0.tgz","fileCount":21,"unpackedSize":70280,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG/ONDY9vdTv/SIr6EeHWwMr9E6M2Uv+MIZ7wXltFYcVAiEA5ZpFjCi+Abkq+KHtBxwuC/AdWcJRHtpUkYhCuDnMIeU="}]},"_npmUser":{"name":"sikanx","email":"sikanx@gmail.com"},"directories":{},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gqtx_0.9.4-91f52af3.0_1704494866207_0.7004165482483615"},"_hasShrinkwrap":false}},"time":{"created":"2019-10-14T18:50:59.631Z","0.1.0":"2019-10-14T18:50:59.738Z","modified":"2024-01-05T22:47:46.549Z","0.2.0":"2019-10-14T22:58:41.938Z","0.2.1":"2019-10-15T17:16:16.747Z","0.3.0":"2019-10-16T04:12:56.081Z","0.4.0":"2019-10-16T15:52:01.244Z","0.4.1":"2019-10-17T04:25:09.655Z","0.5.0":"2019-10-17T06:16:02.745Z","0.6.0":"2020-04-15T01:03:56.675Z","0.7.0":"2020-06-23T16:04:18.392Z","0.8.0-beta.0":"2020-12-28T05:37:27.766Z","0.8.0-beta.1":"2020-12-28T05:39:44.675Z","0.8.1-800c992a.0":"2021-02-17T08:05:09.240Z","0.8.1-7cf0d3af.0":"2021-02-22T16:12:05.828Z","0.8.1-bea53389.0":"2021-02-22T17:20:13.675Z","0.8.1-a9325d31.0":"2021-02-22T17:20:46.992Z","0.8.1-a395e824.0":"2021-02-23T11:55:32.567Z","0.8.1-913ef0b2.0":"2021-02-23T12:10:46.404Z","0.8.1-dea3affd.0":"2021-03-15T17:15:51.158Z","0.8.1-ac533978.0":"2021-03-29T17:02:35.210Z","0.8.1-1b4add73.0":"2021-03-29T17:03:42.111Z","0.8.1-fa8ead4a.0":"2021-06-05T20:43:29.241Z","0.8.1-cc4454a0.0":"2021-06-05T20:45:28.741Z","0.8.1-f4332114.0":"2021-06-05T21:52:56.887Z","0.8.1-0708dc94.0":"2021-06-05T21:55:31.431Z","0.8.1-5ebc7631.0":"2021-06-05T21:58:14.346Z","0.8.1-54deec7e.0":"2021-06-06T11:40:10.344Z","0.8.1-49644f7f.0":"2021-06-06T11:52:54.935Z","0.8.1-f78dc66d.0":"2021-06-06T12:02:09.482Z","0.8.1-684296a9.0":"2021-06-06T12:02:42.877Z","0.8.1-f6e42aad.0":"2021-06-06T12:10:58.128Z","0.8.1-d21f1065.0":"2021-06-06T12:16:06.588Z","0.8.1-d8783c21.0":"2021-06-06T16:03:19.054Z","0.8.1-4382fc73.0":"2021-06-14T02:20:33.438Z","0.8.1-a2f3955c.0":"2021-06-23T11:45:24.925Z","0.8.1-63896ded.0":"2021-06-23T11:50:13.817Z","0.8.1-f565abfa.0":"2021-06-24T05:45:42.890Z","0.8.1-e6f907e5.0":"2021-06-24T06:10:22.509Z","0.8.1-787c9945.0":"2021-06-24T06:51:29.684Z","0.8.1-e5b86bfd.0":"2021-06-24T06:56:59.668Z","0.8.1-a41a109e.0":"2021-07-21T05:18:06.904Z","0.8.1-1c11cc95.0":"2021-07-21T05:18:33.708Z","0.8.1-f0517487.0":"2021-07-21T05:19:25.647Z","0.8.1-57a053d5.0":"2021-07-21T05:20:52.522Z","0.8.1-cebe95c4.0":"2021-07-27T05:57:29.952Z","0.8.1-348cf7b3.0":"2021-08-02T20:42:34.058Z","0.8.1-8b34dff2.0":"2021-11-06T23:44:03.929Z","0.8.1-4fb667a5.0":"2021-11-06T23:45:55.196Z","0.8.1-d6e00cf5.0":"2021-11-06T23:53:55.024Z","0.8.0":"2021-11-06T23:56:19.505Z","0.8.2-21daae90.0":"2021-11-07T03:45:27.824Z","0.8.1":"2021-11-07T03:45:33.160Z","0.8.2-3564db83.0":"2021-11-07T21:54:08.133Z","0.8.2-4c93b62b.0":"2022-02-07T17:30:42.938Z","0.8.2-6e5f14ce.0":"2022-02-07T17:32:45.836Z","0.8.2-b0af869e.0":"2022-02-09T23:59:49.575Z","0.8.2-418ce4f0.0":"2022-03-22T17:10:39.424Z","0.8.2-d93e811f.0":"2022-06-20T18:26:47.921Z","0.8.2-1c709b52.0":"2022-06-20T18:28:01.576Z","0.9.1-3138c3d4.0":"2023-08-15T06:34:50.700Z","0.9.1-0bdd7c01.0":"2023-08-15T06:47:37.047Z","0.9.1-90435835.0":"2023-08-15T06:50:59.080Z","0.9.1-ab5408fa.0":"2023-08-15T07:27:29.871Z","0.9.1-7372732c.0":"2023-08-15T07:29:30.035Z","0.9.1-a8f1266f.0":"2023-08-15T07:34:55.060Z","0.9.1-d25fc0bf.0":"2023-08-15T16:55:04.257Z","0.9.1-28ee91ab.0":"2023-08-15T17:02:16.696Z","0.9.1-fc0f1d45.0":"2023-08-15T18:20:54.752Z","0.9.1-4f98955f.0":"2023-08-15T18:45:32.181Z","0.9.1-13f4d9d4.0":"2023-11-05T17:05:43.068Z","0.9.1-6980048c.0":"2023-11-05T17:10:08.163Z","0.9.1-b19576fb.0":"2023-11-05T17:13:27.592Z","0.9.1-f7eeeff9.0":"2023-11-05T17:51:09.558Z","0.9.1-1a6de3de.0":"2023-12-05T03:16:29.449Z","0.9.1-4275e372.0":"2023-12-05T03:36:55.318Z","0.9.1-f7ceec16.0":"2023-12-05T03:38:56.718Z","0.9.0":"2023-12-05T03:52:15.518Z","0.9.1-8cac6ce9.0":"2023-12-05T03:57:16.162Z","0.9.1-b5aa6892.0":"2023-12-05T18:30:32.154Z","0.9.1-b5842d78.0":"2023-12-05T18:36:45.954Z","0.9.1-c4ab34ed.0":"2023-12-05T18:40:31.381Z","0.9.1-b3f51155.0":"2023-12-05T18:48:25.778Z","0.9.1-ea94d732.0":"2023-12-05T18:53:51.895Z","0.9.1-ad0529f1.0":"2023-12-05T18:57:02.063Z","0.9.1-7cba2e90.0":"2023-12-05T19:03:26.411Z","0.9.1-92c61959.0":"2023-12-05T19:15:20.978Z","0.9.1-c6b228ee.0":"2023-12-05T19:20:40.061Z","0.9.2-528a0e50.0":"2023-12-05T19:22:18.904Z","0.9.1":"2023-12-05T19:22:29.562Z","0.9.2":"2023-12-05T19:25:04.009Z","0.9.3":"2023-12-05T19:28:14.155Z","0.9.2-e8f00210.0":"2023-12-05T19:37:20.876Z","0.9.4-a59e0642.0":"2023-12-05T19:38:24.757Z","0.9.4-cd9c5f90.0":"2023-12-05T19:38:46.839Z","0.9.4-4e327db6.0":"2023-12-08T10:34:35.004Z","0.9.4-91f52af3.0":"2024-01-05T22:47:46.385Z"},"maintainers":[{"name":"sikanx","email":"sikanx@gmail.com"}],"license":"MIT","readme":"","readmeFilename":"","keywords":["graphql","typescript","graphql-server"],"repository":{"type":"git","url":"https://github.com/sikanhe/gqtx"}}