git.iko.soy/rowtype-yoga/purescript-graphql-fundeps
on main help sign in
Merge pull request #2 from rowtype-yoga/monad-aff
1521fdbMike Solomon
.github/workflows/unit-tests.ymlnew file+19
@@ -0,0 +1,19 @@
1+name: Unit tests
2+on: push
3+jobs:
4+ container-job:
5+ runs-on: ubuntu-latest
6+ strategy:
7+ matrix:
8+ node-version: [14.x]
9+ steps:
10+ - name: Check out repository code
11+ uses: actions/checkout@v2
12+ - name: Install dependencies
13+ run: npm ci
14+ - name: Spago install
15+ run: npx spago -x test.dhall install
16+ - name: Spago build
17+ run: npx spago -x test.dhall build
18+ - name: Spago test
19+ run: npm t
.gitignore−1
@@ -1,4 +1,3 @@
1.spago/
1.spago/
2output/
2output/
3node_modules/
3node_modules/
4−.psc-ide-port
.psc-ide-port+1−1
@@ -1 +1 @@
1−15802
1+15162
package-lock.json+1−1882
@@ -1,7 +1,7 @@
1{
1{
2 "name": "purescript-graphql-fundeps",
2 "name": "purescript-graphql-fundeps",
3 "version": "0.1.0",
3 "version": "0.1.0",
4− "lockfileVersion": 2,
4+ "lockfileVersion": 3,
5 "requires": true,
5 "requires": true,
6 "packages": {
6 "packages": {
7 "": {
7 "": {
@@ -2387,1886 +2387,5 @@
2387 "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==",
2387 "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==",
2388 "dev": true
2388 "dev": true
2389 }
2389 }
2390− },
2391− "dependencies": {
2392− "@gar/promisify": {
2393− "version": "1.1.3",
2394− "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
2395− "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
2396− "dev": true
2397− },
2398− "@isaacs/cliui": {
2399− "version": "8.0.2",
2400− "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
2401− "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
2402− "dev": true,
2403− "requires": {
2404− "string-width": "^5.1.2",
2405− "string-width-cjs": "npm:string-width@^4.2.0",
2406− "strip-ansi": "^7.0.1",
2407− "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
2408− "wrap-ansi": "^8.1.0",
2409− "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
2410− },
2411− "dependencies": {
2412− "ansi-regex": {
2413− "version": "6.0.1",
2414− "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
2415− "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
2416− "dev": true
2417− },
2418− "ansi-styles": {
2419− "version": "6.2.1",
2420− "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
2421− "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
2422− "dev": true
2423− },
2424− "emoji-regex": {
2425− "version": "9.2.2",
2426− "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
2427− "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
2428− "dev": true
2429− },
2430− "string-width": {
2431− "version": "5.1.2",
2432− "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
2433− "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
2434− "dev": true,
2435− "requires": {
2436− "eastasianwidth": "^0.2.0",
2437− "emoji-regex": "^9.2.2",
2438− "strip-ansi": "^7.0.1"
2439− }
2440− },
2441− "strip-ansi": {
2442− "version": "7.1.0",
2443− "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
2444− "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
2445− "dev": true,
2446− "requires": {
2447− "ansi-regex": "^6.0.1"
2448− }
2449− },
2450− "wrap-ansi": {
2451− "version": "8.1.0",
2452− "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
2453− "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
2454− "dev": true,
2455− "requires": {
2456− "ansi-styles": "^6.1.0",
2457− "string-width": "^5.0.1",
2458− "strip-ansi": "^7.0.1"
2459− }
2460− }
2461− }
2462− },
2463− "@npmcli/fs": {
2464− "version": "2.1.2",
2465− "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz",
2466− "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==",
2467− "dev": true,
2468− "requires": {
2469− "@gar/promisify": "^1.1.3",
2470− "semver": "^7.3.5"
2471− }
2472− },
2473− "@npmcli/move-file": {
2474− "version": "2.0.1",
2475− "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz",
2476− "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==",
2477− "dev": true,
2478− "requires": {
2479− "mkdirp": "^1.0.4",
2480− "rimraf": "^3.0.2"
2481− },
2482− "dependencies": {
2483− "mkdirp": {
2484− "version": "1.0.4",
2485− "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
2486− "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
2487− "dev": true
2488− },
2489− "rimraf": {
2490− "version": "3.0.2",
2491− "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
2492− "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
2493− "dev": true,
2494− "requires": {
2495− "glob": "^7.1.3"
2496− }
2497− }
2498− }
2499− },
2500− "@pkgjs/parseargs": {
2501− "version": "0.11.0",
2502− "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
2503− "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
2504− "dev": true,
2505− "optional": true
2506− },
2507− "@tootallnate/once": {
2508− "version": "2.0.0",
2509− "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
2510− "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
2511− "dev": true
2512− },
2513− "agent-base": {
2514− "version": "6.0.2",
2515− "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
2516− "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
2517− "dev": true,
2518− "requires": {
2519− "debug": "4"
2520− }
2521− },
2522− "agentkeepalive": {
2523− "version": "4.3.0",
2524− "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz",
2525− "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==",
2526− "dev": true,
2527− "requires": {
2528− "debug": "^4.1.0",
2529− "depd": "^2.0.0",
2530− "humanize-ms": "^1.2.1"
2531− }
2532− },
2533− "aggregate-error": {
2534− "version": "3.1.0",
2535− "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
2536− "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
2537− "dev": true,
2538− "requires": {
2539− "clean-stack": "^2.0.0",
2540− "indent-string": "^4.0.0"
2541− }
2542− },
2543− "ansi-escapes": {
2544− "version": "4.3.2",
2545− "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
2546− "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
2547− "dev": true,
2548− "requires": {
2549− "type-fest": "^0.21.3"
2550− }
2551− },
2552− "ansi-regex": {
2553− "version": "5.0.1",
2554− "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
2555− "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
2556− "dev": true
2557− },
2558− "ansi-styles": {
2559− "version": "3.2.1",
2560− "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
2561− "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
2562− "dev": true,
2563− "requires": {
2564− "color-convert": "^1.9.0"
2565− }
2566− },
2567− "aproba": {
2568− "version": "1.2.0",
2569− "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
2570− "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
2571− "dev": true
2572− },
2573− "astral-regex": {
2574− "version": "2.0.0",
2575− "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
2576− "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
2577− "dev": true
2578− },
2579− "balanced-match": {
2580− "version": "1.0.2",
2581− "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
2582− "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
2583− "dev": true
2584− },
2585− "bluebird": {
2586− "version": "3.7.2",
2587− "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
2588− "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
2589− "dev": true
2590− },
2591− "brace-expansion": {
2592− "version": "1.1.11",
2593− "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
2594− "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
2595− "dev": true,
2596− "requires": {
2597− "balanced-match": "^1.0.0",
2598− "concat-map": "0.0.1"
2599− }
2600− },
2601− "buffer-from": {
2602− "version": "1.1.2",
2603− "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
2604− "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
2605− "dev": true
2606− },
2607− "byline": {
2608− "version": "5.0.0",
2609− "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz",
2610− "integrity": "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==",
2611− "dev": true
2612− },
2613− "cacache": {
2614− "version": "11.3.3",
2615− "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.3.tgz",
2616− "integrity": "sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==",
2617− "dev": true,
2618− "requires": {
2619− "bluebird": "^3.5.5",
2620− "chownr": "^1.1.1",
2621− "figgy-pudding": "^3.5.1",
2622− "glob": "^7.1.4",
2623− "graceful-fs": "^4.1.15",
2624− "lru-cache": "^5.1.1",
2625− "mississippi": "^3.0.0",
2626− "mkdirp": "^0.5.1",
2627− "move-concurrently": "^1.0.1",
2628− "promise-inflight": "^1.0.1",
2629− "rimraf": "^2.6.3",
2630− "ssri": "^6.0.1",
2631− "unique-filename": "^1.1.1",
2632− "y18n": "^4.0.0"
2633− }
2634− },
2635− "chalk": {
2636− "version": "2.4.2",
2637− "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
2638− "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
2639− "dev": true,
2640− "requires": {
2641− "ansi-styles": "^3.2.1",
2642− "escape-string-regexp": "^1.0.5",
2643− "supports-color": "^5.3.0"
2644− }
2645− },
2646− "chownr": {
2647− "version": "1.1.4",
2648− "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
2649− "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
2650− "dev": true
2651− },
2652− "clean-stack": {
2653− "version": "2.2.0",
2654− "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
2655− "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
2656− "dev": true
2657− },
2658− "cli-cursor": {
2659− "version": "3.1.0",
2660− "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
2661− "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
2662− "dev": true,
2663− "requires": {
2664− "restore-cursor": "^3.1.0"
2665− }
2666− },
2667− "color-convert": {
2668− "version": "1.9.3",
2669− "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
2670− "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
2671− "dev": true,
2672− "requires": {
2673− "color-name": "1.1.3"
2674− }
2675− },
2676− "color-name": {
2677− "version": "1.1.3",
2678− "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
2679− "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
2680− "dev": true
2681− },
2682− "concat-map": {
2683− "version": "0.0.1",
2684− "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
2685− "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
2686− "dev": true
2687− },
2688− "concat-stream": {
2689− "version": "1.6.2",
2690− "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
2691− "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
2692− "dev": true,
2693− "requires": {
2694− "buffer-from": "^1.0.0",
2695− "inherits": "^2.0.3",
2696− "readable-stream": "^2.2.2",
2697− "typedarray": "^0.0.6"
2698− }
2699− },
2700− "copy-concurrently": {
2701− "version": "1.0.5",
2702− "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
2703− "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
2704− "dev": true,
2705− "requires": {
2706− "aproba": "^1.1.1",
2707− "fs-write-stream-atomic": "^1.0.8",
2708− "iferr": "^0.1.5",
2709− "mkdirp": "^0.5.1",
2710− "rimraf": "^2.5.4",
2711− "run-queue": "^1.0.0"
2712− }
2713− },
2714− "core-util-is": {
2715− "version": "1.0.3",
2716− "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
2717− "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
2718− "dev": true
2719− },
2720− "cross-spawn": {
2721− "version": "7.0.3",
2722− "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
2723− "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
2724− "dev": true,
2725− "requires": {
2726− "path-key": "^3.1.0",
2727− "shebang-command": "^2.0.0",
2728− "which": "^2.0.1"
2729− },
2730− "dependencies": {
2731− "which": {
2732− "version": "2.0.2",
2733− "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2734− "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2735− "dev": true,
2736− "requires": {
2737− "isexe": "^2.0.0"
2738− }
2739− }
2740− }
2741− },
2742− "cyclist": {
2743− "version": "1.0.2",
2744− "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz",
2745− "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==",
2746− "dev": true
2747− },
2748− "debug": {
2749− "version": "4.3.4",
2750− "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
2751− "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
2752− "dev": true,
2753− "requires": {
2754− "ms": "2.1.2"
2755− },
2756− "dependencies": {
2757− "ms": {
2758− "version": "2.1.2",
2759− "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2760− "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
2761− "dev": true
2762− }
2763− }
2764− },
2765− "depd": {
2766− "version": "2.0.0",
2767− "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
2768− "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
2769− "dev": true
2770− },
2771− "duplexify": {
2772− "version": "3.7.1",
2773− "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
2774− "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
2775− "dev": true,
2776− "requires": {
2777− "end-of-stream": "^1.0.0",
2778− "inherits": "^2.0.1",
2779− "readable-stream": "^2.0.0",
2780− "stream-shift": "^1.0.0"
2781− }
2782− },
2783− "eastasianwidth": {
2784− "version": "0.2.0",
2785− "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
2786− "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
2787− "dev": true
2788− },
2789− "emoji-regex": {
2790− "version": "8.0.0",
2791− "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
2792− "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
2793− "dev": true
2794− },
2795− "encoding": {
2796− "version": "0.1.13",
2797− "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
2798− "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
2799− "dev": true,
2800− "optional": true,
2801− "requires": {
2802− "iconv-lite": "^0.6.2"
2803− }
2804− },
2805− "end-of-stream": {
2806− "version": "1.4.4",
2807− "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
2808− "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
2809− "dev": true,
2810− "requires": {
2811− "once": "^1.4.0"
2812− }
2813− },
2814− "env-paths": {
2815− "version": "2.2.1",
2816− "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
2817− "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
2818− "dev": true
2819− },
2820− "err-code": {
2821− "version": "2.0.3",
2822− "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
2823− "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
2824− "dev": true
2825− },
2826− "escape-string-regexp": {
2827− "version": "1.0.5",
2828− "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
2829− "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
2830− "dev": true
2831− },
2832− "execa": {
2833− "version": "2.1.0",
2834− "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz",
2835− "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==",
2836− "dev": true,
2837− "requires": {
2838− "cross-spawn": "^7.0.0",
2839− "get-stream": "^5.0.0",
2840− "is-stream": "^2.0.0",
2841− "merge-stream": "^2.0.0",
2842− "npm-run-path": "^3.0.0",
2843− "onetime": "^5.1.0",
2844− "p-finally": "^2.0.0",
2845− "signal-exit": "^3.0.2",
2846− "strip-final-newline": "^2.0.0"
2847− }
2848− },
2849− "figgy-pudding": {
2850− "version": "3.5.2",
2851− "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
2852− "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
2853− "dev": true
2854− },
2855− "filesize": {
2856− "version": "4.2.1",
2857− "resolved": "https://registry.npmjs.org/filesize/-/filesize-4.2.1.tgz",
2858− "integrity": "sha512-bP82Hi8VRZX/TUBKfE24iiUGsB/sfm2WUrwTQyAzQrhO3V9IhcBBNBXMyzLY5orACxRyYJ3d2HeRVX+eFv4lmA==",
2859− "dev": true
2860− },
2861− "flush-write-stream": {
2862− "version": "1.1.1",
2863− "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
2864− "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
2865− "dev": true,
2866− "requires": {
2867− "inherits": "^2.0.3",
2868− "readable-stream": "^2.3.6"
2869− }
2870− },
2871− "foreground-child": {
2872− "version": "3.1.1",
2873− "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
2874− "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
2875− "dev": true,
2876− "requires": {
2877− "cross-spawn": "^7.0.0",
2878− "signal-exit": "^4.0.1"
2879− },
2880− "dependencies": {
2881− "signal-exit": {
2882− "version": "4.0.2",
2883− "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz",
2884− "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==",
2885− "dev": true
2886− }
2887− }
2888− },
2889− "from2": {
2890− "version": "2.3.0",
2891− "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
2892− "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==",
2893− "dev": true,
2894− "requires": {
2895− "inherits": "^2.0.1",
2896− "readable-stream": "^2.0.0"
2897− }
2898− },
2899− "fs-minipass": {
2900− "version": "2.1.0",
2901− "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
2902− "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
2903− "dev": true,
2904− "requires": {
2905− "minipass": "^3.0.0"
2906− }
2907− },
2908− "fs-write-stream-atomic": {
2909− "version": "1.0.10",
2910− "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
2911− "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==",
2912− "dev": true,
2913− "requires": {
2914− "graceful-fs": "^4.1.2",
2915− "iferr": "^0.1.5",
2916− "imurmurhash": "^0.1.4",
2917− "readable-stream": "1 || 2"
2918− }
2919− },
2920− "fs.realpath": {
2921− "version": "1.0.0",
2922− "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
2923− "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
2924− "dev": true
2925− },
2926− "get-stream": {
2927− "version": "5.2.0",
2928− "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
2929− "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
2930− "dev": true,
2931− "requires": {
2932− "pump": "^3.0.0"
2933− }
2934− },
2935− "glob": {
2936− "version": "7.2.3",
2937− "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
2938− "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
2939− "dev": true,
2940− "requires": {
2941− "fs.realpath": "^1.0.0",
2942− "inflight": "^1.0.4",
2943− "inherits": "2",
2944− "minimatch": "^3.1.1",
2945− "once": "^1.3.0",
2946− "path-is-absolute": "^1.0.0"
2947− }
2948− },
2949− "graceful-fs": {
2950− "version": "4.2.11",
2951− "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
2952− "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
2953− "dev": true
2954− },
2955− "has-flag": {
2956− "version": "3.0.0",
2957− "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
2958− "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
2959− "dev": true
2960− },
2961− "http-cache-semantics": {
2962− "version": "4.1.1",
2963− "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
2964− "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
2965− "dev": true
2966− },
2967− "http-proxy-agent": {
2968− "version": "5.0.0",
2969− "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
2970− "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
2971− "dev": true,
2972− "requires": {
2973− "@tootallnate/once": "2",
2974− "agent-base": "6",
2975− "debug": "4"
2976− }
2977− },
2978− "https-proxy-agent": {
2979− "version": "5.0.1",
2980− "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
2981− "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
2982− "dev": true,
2983− "requires": {
2984− "agent-base": "6",
2985− "debug": "4"
2986− }
2987− },
2988− "humanize-ms": {
2989− "version": "1.2.1",
2990− "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
2991− "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
2992− "dev": true,
2993− "requires": {
2994− "ms": "^2.0.0"
2995− }
2996− },
2997− "iconv-lite": {
2998− "version": "0.6.3",
2999− "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
3000− "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
3001− "dev": true,
3002− "optional": true,
3003− "requires": {
3004− "safer-buffer": ">= 2.1.2 < 3.0.0"
3005− }
3006− },
3007− "iferr": {
3008− "version": "0.1.5",
3009− "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
3010− "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==",
3011− "dev": true
3012− },
3013− "imurmurhash": {
3014− "version": "0.1.4",
3015− "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
3016− "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
3017− "dev": true
3018− },
3019− "indent-string": {
3020− "version": "4.0.0",
3021− "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
3022− "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
3023− "dev": true
3024− },
3025− "infer-owner": {
3026− "version": "1.0.4",
3027− "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
3028− "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
3029− "dev": true
3030− },
3031− "inflight": {
3032− "version": "1.0.6",
3033− "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
3034− "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
3035− "dev": true,
3036− "requires": {
3037− "once": "^1.3.0",
3038− "wrappy": "1"
3039− }
3040− },
3041− "inherits": {
3042− "version": "2.0.4",
3043− "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
3044− "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
3045− "dev": true
3046− },
3047− "ip": {
3048− "version": "2.0.0",
3049− "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
3050− "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
3051− "dev": true
3052− },
3053− "is-fullwidth-code-point": {
3054− "version": "3.0.0",
3055− "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
3056− "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
3057− "dev": true
3058− },
3059− "is-lambda": {
3060− "version": "1.0.1",
3061− "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
3062− "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
3063− "dev": true
3064− },
3065− "is-plain-obj": {
3066− "version": "2.1.0",
3067− "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
3068− "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
3069− "dev": true
3070− },
3071− "is-stream": {
3072− "version": "2.0.1",
3073− "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
3074− "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
3075− "dev": true
3076− },
3077− "isarray": {
3078− "version": "1.0.0",
3079− "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
3080− "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
3081− "dev": true
3082− },
3083− "isexe": {
3084− "version": "2.0.0",
3085− "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
3086− "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
3087− "dev": true
3088− },
3089− "jackspeak": {
3090− "version": "2.2.1",
3091− "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz",
3092− "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==",
3093− "dev": true,
3094− "requires": {
3095− "@isaacs/cliui": "^8.0.2",
3096− "@pkgjs/parseargs": "^0.11.0"
3097− }
3098− },
3099− "log-symbols": {
3100− "version": "3.0.0",
3101− "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
3102− "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
3103− "dev": true,
3104− "requires": {
3105− "chalk": "^2.4.2"
3106− }
3107− },
3108− "log-update": {
3109− "version": "4.0.0",
3110− "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz",
3111− "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==",
3112− "dev": true,
3113− "requires": {
3114− "ansi-escapes": "^4.3.0",
3115− "cli-cursor": "^3.1.0",
3116− "slice-ansi": "^4.0.0",
3117− "wrap-ansi": "^6.2.0"
3118− }
3119− },
3120− "lru-cache": {
3121− "version": "5.1.1",
3122− "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
3123− "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
3124− "dev": true,
3125− "requires": {
3126− "yallist": "^3.0.2"
3127− }
3128− },
3129− "make-fetch-happen": {
3130− "version": "10.2.1",
3131− "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz",
3132− "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==",
3133− "dev": true,
3134− "requires": {
3135− "agentkeepalive": "^4.2.1",
3136− "cacache": "^16.1.0",
3137− "http-cache-semantics": "^4.1.0",
3138− "http-proxy-agent": "^5.0.0",
3139− "https-proxy-agent": "^5.0.0",
3140− "is-lambda": "^1.0.1",
3141− "lru-cache": "^7.7.1",
3142− "minipass": "^3.1.6",
3143− "minipass-collect": "^1.0.2",
3144− "minipass-fetch": "^2.0.3",
3145− "minipass-flush": "^1.0.5",
3146− "minipass-pipeline": "^1.2.4",
3147− "negotiator": "^0.6.3",
3148− "promise-retry": "^2.0.1",
3149− "socks-proxy-agent": "^7.0.0",
3150− "ssri": "^9.0.0"
3151− },
3152− "dependencies": {
3153− "brace-expansion": {
3154− "version": "2.0.1",
3155− "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
3156− "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
3157− "dev": true,
3158− "requires": {
3159− "balanced-match": "^1.0.0"
3160− }
3161− },
3162− "cacache": {
3163− "version": "16.1.3",
3164− "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz",
3165− "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==",
3166− "dev": true,
3167− "requires": {
3168− "@npmcli/fs": "^2.1.0",
3169− "@npmcli/move-file": "^2.0.0",
3170− "chownr": "^2.0.0",
3171− "fs-minipass": "^2.1.0",
3172− "glob": "^8.0.1",
3173− "infer-owner": "^1.0.4",
3174− "lru-cache": "^7.7.1",
3175− "minipass": "^3.1.6",
3176− "minipass-collect": "^1.0.2",
3177− "minipass-flush": "^1.0.5",
3178− "minipass-pipeline": "^1.2.4",
3179− "mkdirp": "^1.0.4",
3180− "p-map": "^4.0.0",
3181− "promise-inflight": "^1.0.1",
3182− "rimraf": "^3.0.2",
3183− "ssri": "^9.0.0",
3184− "tar": "^6.1.11",
3185− "unique-filename": "^2.0.0"
3186− }
3187− },
3188− "chownr": {
3189− "version": "2.0.0",
3190− "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
3191− "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
3192− "dev": true
3193− },
3194− "glob": {
3195− "version": "8.1.0",
3196− "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
3197− "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
3198− "dev": true,
3199− "requires": {
3200− "fs.realpath": "^1.0.0",
3201− "inflight": "^1.0.4",
3202− "inherits": "2",
3203− "minimatch": "^5.0.1",
3204− "once": "^1.3.0"
3205− }
3206− },
3207− "lru-cache": {
3208− "version": "7.18.3",
3209− "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
3210− "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
3211− "dev": true
3212− },
3213− "minimatch": {
3214− "version": "5.1.6",
3215− "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
3216− "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
3217− "dev": true,
3218− "requires": {
3219− "brace-expansion": "^2.0.1"
3220− }
3221− },
3222− "mkdirp": {
3223− "version": "1.0.4",
3224− "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
3225− "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
3226− "dev": true
3227− },
3228− "rimraf": {
3229− "version": "3.0.2",
3230− "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
3231− "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
3232− "dev": true,
3233− "requires": {
3234− "glob": "^7.1.3"
3235− },
3236− "dependencies": {
3237− "brace-expansion": {
3238− "version": "1.1.11",
3239− "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
3240− "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
3241− "dev": true,
3242− "requires": {
3243− "balanced-match": "^1.0.0",
3244− "concat-map": "0.0.1"
3245− }
3246− },
3247− "glob": {
3248− "version": "7.2.3",
3249− "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
3250− "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
3251− "dev": true,
3252− "requires": {
3253− "fs.realpath": "^1.0.0",
3254− "inflight": "^1.0.4",
3255− "inherits": "2",
3256− "minimatch": "^3.1.1",
3257− "once": "^1.3.0",
3258− "path-is-absolute": "^1.0.0"
3259− }
3260− },
3261− "minimatch": {
3262− "version": "3.1.2",
3263− "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
3264− "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
3265− "dev": true,
3266− "requires": {
3267− "brace-expansion": "^1.1.7"
3268− }
3269− }
3270− }
3271− },
3272− "ssri": {
3273− "version": "9.0.1",
3274− "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz",
3275− "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==",
3276− "dev": true,
3277− "requires": {
3278− "minipass": "^3.1.1"
3279− }
3280− },
3281− "unique-filename": {
3282− "version": "2.0.1",
3283− "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz",
3284− "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==",
3285− "dev": true,
3286− "requires": {
3287− "unique-slug": "^3.0.0"
3288− }
3289− },
3290− "unique-slug": {
3291− "version": "3.0.0",
3292− "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz",
3293− "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==",
3294− "dev": true,
3295− "requires": {
3296− "imurmurhash": "^0.1.4"
3297− }
3298− }
3299− }
3300− },
3301− "merge-stream": {
3302− "version": "2.0.0",
3303− "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
3304− "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
3305− "dev": true
3306− },
3307− "mimic-fn": {
3308− "version": "2.1.0",
3309− "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
3310− "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
3311− "dev": true
3312− },
3313− "minimatch": {
3314− "version": "3.1.2",
3315− "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
3316− "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
3317− "dev": true,
3318− "requires": {
3319− "brace-expansion": "^1.1.7"
3320− }
3321− },
3322− "minimist": {
3323− "version": "1.2.8",
3324− "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
3325− "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
3326− "dev": true
3327− },
3328− "minipass": {
3329− "version": "3.3.6",
3330− "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
3331− "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
3332− "dev": true,
3333− "requires": {
3334− "yallist": "^4.0.0"
3335− },
3336− "dependencies": {
3337− "yallist": {
3338− "version": "4.0.0",
3339− "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
3340− "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
3341− "dev": true
3342− }
3343− }
3344− },
3345− "minipass-collect": {
3346− "version": "1.0.2",
3347− "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
3348− "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
3349− "dev": true,
3350− "requires": {
3351− "minipass": "^3.0.0"
3352− }
3353− },
3354− "minipass-fetch": {
3355− "version": "2.1.2",
3356− "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz",
3357− "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==",
3358− "dev": true,
3359− "requires": {
3360− "encoding": "^0.1.13",
3361− "minipass": "^3.1.6",
3362− "minipass-sized": "^1.0.3",
3363− "minizlib": "^2.1.2"
3364− }
3365− },
3366− "minipass-flush": {
3367− "version": "1.0.5",
3368− "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
3369− "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
3370− "dev": true,
3371− "requires": {
3372− "minipass": "^3.0.0"
3373− }
3374− },
3375− "minipass-pipeline": {
3376− "version": "1.2.4",
3377− "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
3378− "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
3379− "dev": true,
3380− "requires": {
3381− "minipass": "^3.0.0"
3382− }
3383− },
3384− "minipass-sized": {
3385− "version": "1.0.3",
3386− "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
3387− "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
3388− "dev": true,
3389− "requires": {
3390− "minipass": "^3.0.0"
3391− }
3392− },
3393− "minizlib": {
3394− "version": "2.1.2",
3395− "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
3396− "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
3397− "dev": true,
3398− "requires": {
3399− "minipass": "^3.0.0",
3400− "yallist": "^4.0.0"
3401− },
3402− "dependencies": {
3403− "yallist": {
3404− "version": "4.0.0",
3405− "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
3406− "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
3407− "dev": true
3408− }
3409− }
3410− },
3411− "mississippi": {
3412− "version": "3.0.0",
3413− "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
3414− "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
3415− "dev": true,
3416− "requires": {
3417− "concat-stream": "^1.5.0",
3418− "duplexify": "^3.4.2",
3419− "end-of-stream": "^1.1.0",
3420− "flush-write-stream": "^1.0.0",
3421− "from2": "^2.1.0",
3422− "parallel-transform": "^1.1.0",
3423− "pump": "^3.0.0",
3424− "pumpify": "^1.3.3",
3425− "stream-each": "^1.1.0",
3426− "through2": "^2.0.0"
3427− }
3428− },
3429− "mkdirp": {
3430− "version": "0.5.6",
3431− "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
3432− "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
3433− "dev": true,
3434− "requires": {
3435− "minimist": "^1.2.6"
3436− }
3437− },
3438− "move-concurrently": {
3439− "version": "1.0.1",
3440− "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
3441− "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==",
3442− "dev": true,
3443− "requires": {
3444− "aproba": "^1.1.1",
3445− "copy-concurrently": "^1.0.0",
3446− "fs-write-stream-atomic": "^1.0.8",
3447− "mkdirp": "^0.5.1",
3448− "rimraf": "^2.5.4",
3449− "run-queue": "^1.0.3"
3450− }
3451− },
3452− "ms": {
3453− "version": "2.1.3",
3454− "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
3455− "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
3456− "dev": true
3457− },
3458− "negotiator": {
3459− "version": "0.6.3",
3460− "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
3461− "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
3462− "dev": true
3463− },
3464− "npm-run-path": {
3465− "version": "3.1.0",
3466− "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz",
3467− "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==",
3468− "dev": true,
3469− "requires": {
3470− "path-key": "^3.0.0"
3471− }
3472− },
3473− "once": {
3474− "version": "1.4.0",
3475− "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
3476− "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
3477− "dev": true,
3478− "requires": {
3479− "wrappy": "1"
3480− }
3481− },
3482− "onetime": {
3483− "version": "5.1.2",
3484− "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
3485− "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
3486− "dev": true,
3487− "requires": {
3488− "mimic-fn": "^2.1.0"
3489− }
3490− },
3491− "p-finally": {
3492− "version": "2.0.1",
3493− "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
3494− "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
3495− "dev": true
3496− },
3497− "p-map": {
3498− "version": "4.0.0",
3499− "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
3500− "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
3501− "dev": true,
3502− "requires": {
3503− "aggregate-error": "^3.0.0"
3504− }
3505− },
3506− "parallel-transform": {
3507− "version": "1.2.0",
3508− "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
3509− "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
3510− "dev": true,
3511− "requires": {
3512− "cyclist": "^1.0.1",
3513− "inherits": "^2.0.3",
3514− "readable-stream": "^2.1.5"
3515− }
3516− },
3517− "path-is-absolute": {
3518− "version": "1.0.1",
3519− "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
3520− "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
3521− "dev": true
3522− },
3523− "path-key": {
3524− "version": "3.1.1",
3525− "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
3526− "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
3527− "dev": true
3528− },
3529− "path-scurry": {
3530− "version": "1.9.2",
3531− "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz",
3532− "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==",
3533− "dev": true,
3534− "requires": {
3535− "lru-cache": "^9.1.1",
3536− "minipass": "^5.0.0 || ^6.0.2"
3537− },
3538− "dependencies": {
3539− "lru-cache": {
3540− "version": "9.1.2",
3541− "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.2.tgz",
3542− "integrity": "sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ==",
3543− "dev": true
3544− },
3545− "minipass": {
3546− "version": "6.0.2",
3547− "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz",
3548− "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==",
3549− "dev": true
3550− }
3551− }
3552− },
3553− "process-nextick-args": {
3554− "version": "2.0.1",
3555− "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
3556− "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
3557− "dev": true
3558− },
3559− "promise-inflight": {
3560− "version": "1.0.1",
3561− "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
3562− "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
3563− "dev": true
3564− },
3565− "promise-retry": {
3566− "version": "2.0.1",
3567− "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
3568− "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
3569− "dev": true,
3570− "requires": {
3571− "err-code": "^2.0.2",
3572− "retry": "^0.12.0"
3573− }
3574− },
3575− "pump": {
3576− "version": "3.0.0",
3577− "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
3578− "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
3579− "dev": true,
3580− "requires": {
3581− "end-of-stream": "^1.1.0",
3582− "once": "^1.3.1"
3583− }
3584− },
3585− "pumpify": {
3586− "version": "1.5.1",
3587− "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
3588− "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
3589− "dev": true,
3590− "requires": {
3591− "duplexify": "^3.6.0",
3592− "inherits": "^2.0.3",
3593− "pump": "^2.0.0"
3594− },
3595− "dependencies": {
3596− "pump": {
3597− "version": "2.0.1",
3598− "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
3599− "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
3600− "dev": true,
3601− "requires": {
3602− "end-of-stream": "^1.1.0",
3603− "once": "^1.3.1"
3604− }
3605− }
3606− }
3607− },
3608− "purescript": {
3609− "version": "0.15.9",
3610− "resolved": "https://registry.npmjs.org/purescript/-/purescript-0.15.9.tgz",
3611− "integrity": "sha512-J2bI4iOn1Sg3/BN0Td1yykIYEK56+tpf3hQRQ+EraPSVgT1MDD+tBH6lvz6UBHndtsKqpNIQCX/HNK7u72HOtw==",
3612− "dev": true,
3613− "requires": {
3614− "purescript-installer": "^0.3.5"
3615− }
3616− },
3617− "purescript-installer": {
3618− "version": "0.3.5",
3619− "resolved": "https://registry.npmjs.org/purescript-installer/-/purescript-installer-0.3.5.tgz",
3620− "integrity": "sha512-w04BBvW4BSQlspLsZ9Bs5vtUBZqvC4bC+FizC5GUp2/rpmYvXJ0CTf79Q3MKo2A8p1ZjqbhCI+SqdTQ30UZUIQ==",
3621− "dev": true,
3622− "requires": {
3623− "byline": "^5.0.0",
3624− "cacache": "^11.3.2",
3625− "chalk": "^2.4.2",
3626− "env-paths": "^2.2.0",
3627− "execa": "^2.0.3",
3628− "filesize": "^4.1.2",
3629− "is-plain-obj": "^2.0.0",
3630− "log-symbols": "^3.0.0",
3631− "log-update": "^4.0.0",
3632− "make-fetch-happen": "^10.0.0",
3633− "minimist": "^1.2.0",
3634− "ms": "^2.1.2",
3635− "once": "^1.4.0",
3636− "rimraf": "^2.6.3",
3637− "semver": "^7.3.7",
3638− "tar": "^6.1.11",
3639− "which": "^1.3.1",
3640− "zen-observable": "^0.8.14"
3641− }
3642− },
3643− "purs-tidy": {
3644− "version": "0.10.0",
3645− "resolved": "https://registry.npmjs.org/purs-tidy/-/purs-tidy-0.10.0.tgz",
3646− "integrity": "sha512-ULbJfBHRngczYwcOzugytRiNy+Guy2VXoAG1jMtGaSFEaUZk1lZkKU11t8jIZTrDdOrkgqlWCZLi3mfcHvdimA==",
3647− "dev": true
3648− },
3649− "readable-stream": {
3650− "version": "2.3.8",
3651− "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
3652− "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
3653− "dev": true,
3654− "requires": {
3655− "core-util-is": "~1.0.0",
3656− "inherits": "~2.0.3",
3657− "isarray": "~1.0.0",
3658− "process-nextick-args": "~2.0.0",
3659− "safe-buffer": "~5.1.1",
3660− "string_decoder": "~1.1.1",
3661− "util-deprecate": "~1.0.1"
3662− }
3663− },
3664− "restore-cursor": {
3665− "version": "3.1.0",
3666− "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
3667− "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
3668− "dev": true,
3669− "requires": {
3670− "onetime": "^5.1.0",
3671− "signal-exit": "^3.0.2"
3672− }
3673− },
3674− "retry": {
3675− "version": "0.12.0",
3676− "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
3677− "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
3678− "dev": true
3679− },
3680− "rimraf": {
3681− "version": "2.7.1",
3682− "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
3683− "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
3684− "dev": true,
3685− "requires": {
3686− "glob": "^7.1.3"
3687− }
3688− },
3689− "run-queue": {
3690− "version": "1.0.3",
3691− "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
3692− "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==",
3693− "dev": true,
3694− "requires": {
3695− "aproba": "^1.1.1"
3696− }
3697− },
3698− "safe-buffer": {
3699− "version": "5.1.2",
3700− "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
3701− "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
3702− "dev": true
3703− },
3704− "safer-buffer": {
3705− "version": "2.1.2",
3706− "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
3707− "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
3708− "dev": true,
3709− "optional": true
3710− },
3711− "semver": {
3712− "version": "7.5.2",
3713− "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
3714− "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
3715− "dev": true,
3716− "requires": {
3717− "lru-cache": "^6.0.0"
3718− },
3719− "dependencies": {
3720− "lru-cache": {
3721− "version": "6.0.0",
3722− "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
3723− "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
3724− "dev": true,
3725− "requires": {
3726− "yallist": "^4.0.0"
3727− }
3728− },
3729− "yallist": {
3730− "version": "4.0.0",
3731− "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
3732− "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
3733− "dev": true
3734− }
3735− }
3736− },
3737− "shebang-command": {
3738− "version": "2.0.0",
3739− "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
3740− "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
3741− "dev": true,
3742− "requires": {
3743− "shebang-regex": "^3.0.0"
3744− }
3745− },
3746− "shebang-regex": {
3747− "version": "3.0.0",
3748− "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
3749− "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
3750− "dev": true
3751− },
3752− "signal-exit": {
3753− "version": "3.0.7",
3754− "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
3755− "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
3756− "dev": true
3757− },
3758− "slice-ansi": {
3759− "version": "4.0.0",
3760− "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
3761− "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
3762− "dev": true,
3763− "requires": {
3764− "ansi-styles": "^4.0.0",
3765− "astral-regex": "^2.0.0",
3766− "is-fullwidth-code-point": "^3.0.0"
3767− },
3768− "dependencies": {
3769− "ansi-styles": {
3770− "version": "4.3.0",
3771− "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
3772− "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
3773− "dev": true,
3774− "requires": {
3775− "color-convert": "^2.0.1"
3776− }
3777− },
3778− "color-convert": {
3779− "version": "2.0.1",
3780− "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
3781− "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
3782− "dev": true,
3783− "requires": {
3784− "color-name": "~1.1.4"
3785− }
3786− },
3787− "color-name": {
3788− "version": "1.1.4",
3789− "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
3790− "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
3791− "dev": true
3792− }
3793− }
3794− },
3795− "smart-buffer": {
3796− "version": "4.2.0",
3797− "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
3798− "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
3799− "dev": true
3800− },
3801− "socks": {
3802− "version": "2.7.1",
3803− "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
3804− "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
3805− "dev": true,
3806− "requires": {
3807− "ip": "^2.0.0",
3808− "smart-buffer": "^4.2.0"
3809− }
3810− },
3811− "socks-proxy-agent": {
3812− "version": "7.0.0",
3813− "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
3814− "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
3815− "dev": true,
3816− "requires": {
3817− "agent-base": "^6.0.2",
3818− "debug": "^4.3.3",
3819− "socks": "^2.6.2"
3820− }
3821− },
3822− "spago": {
3823− "version": "0.21.0",
3824− "resolved": "https://registry.npmjs.org/spago/-/spago-0.21.0.tgz",
3825− "integrity": "sha512-1qTPaIhrsLCvneSJt1fyq3CpNMu01Xhcn+b09IMbyrpLcptMoGH5uOtyNL9eohTRMzPWBKUs6ksFLGdjJp7yxQ==",
3826− "dev": true,
3827− "requires": {
3828− "make-fetch-happen": "^11.0.1",
3829− "tar": "^6.1.11"
3830− },
3831− "dependencies": {
3832− "@npmcli/fs": {
3833− "version": "3.1.0",
3834− "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz",
3835− "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==",
3836− "dev": true,
3837− "requires": {
3838− "semver": "^7.3.5"
3839− }
3840− },
3841− "brace-expansion": {
3842− "version": "2.0.1",
3843− "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
3844− "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
3845− "dev": true,
3846− "requires": {
3847− "balanced-match": "^1.0.0"
3848− }
3849− },
3850− "cacache": {
3851− "version": "17.1.3",
3852− "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.3.tgz",
3853− "integrity": "sha512-jAdjGxmPxZh0IipMdR7fK/4sDSrHMLUV0+GvVUsjwyGNKHsh79kW/otg+GkbXwl6Uzvy9wsvHOX4nUoWldeZMg==",
3854− "dev": true,
3855− "requires": {
3856− "@npmcli/fs": "^3.1.0",
3857− "fs-minipass": "^3.0.0",
3858− "glob": "^10.2.2",
3859− "lru-cache": "^7.7.1",
3860− "minipass": "^5.0.0",
3861− "minipass-collect": "^1.0.2",
3862− "minipass-flush": "^1.0.5",
3863− "minipass-pipeline": "^1.2.4",
3864− "p-map": "^4.0.0",
3865− "ssri": "^10.0.0",
3866− "tar": "^6.1.11",
3867− "unique-filename": "^3.0.0"
3868− }
3869− },
3870− "fs-minipass": {
3871− "version": "3.0.2",
3872− "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.2.tgz",
3873− "integrity": "sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==",
3874− "dev": true,
3875− "requires": {
3876− "minipass": "^5.0.0"
3877− }
3878− },
3879− "glob": {
3880− "version": "10.2.7",
3881− "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.7.tgz",
3882− "integrity": "sha512-jTKehsravOJo8IJxUGfZILnkvVJM/MOfHRs8QcXolVef2zNI9Tqyy5+SeuOAZd3upViEZQLyFpQhYiHLrMUNmA==",
3883− "dev": true,
3884− "requires": {
3885− "foreground-child": "^3.1.0",
3886− "jackspeak": "^2.0.3",
3887− "minimatch": "^9.0.1",
3888− "minipass": "^5.0.0 || ^6.0.2",
3889− "path-scurry": "^1.7.0"
3890− }
3891− },
3892− "lru-cache": {
3893− "version": "7.18.3",
3894− "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
3895− "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
3896− "dev": true
3897− },
3898− "make-fetch-happen": {
3899− "version": "11.1.1",
3900− "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
3901− "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
3902− "dev": true,
3903− "requires": {
3904− "agentkeepalive": "^4.2.1",
3905− "cacache": "^17.0.0",
3906− "http-cache-semantics": "^4.1.1",
3907− "http-proxy-agent": "^5.0.0",
3908− "https-proxy-agent": "^5.0.0",
3909− "is-lambda": "^1.0.1",
3910− "lru-cache": "^7.7.1",
3911− "minipass": "^5.0.0",
3912− "minipass-fetch": "^3.0.0",
3913− "minipass-flush": "^1.0.5",
3914− "minipass-pipeline": "^1.2.4",
3915− "negotiator": "^0.6.3",
3916− "promise-retry": "^2.0.1",
3917− "socks-proxy-agent": "^7.0.0",
3918− "ssri": "^10.0.0"
3919− }
3920− },
3921− "minimatch": {
3922− "version": "9.0.1",
3923− "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
3924− "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
3925− "dev": true,
3926− "requires": {
3927− "brace-expansion": "^2.0.1"
3928− }
3929− },
3930− "minipass": {
3931− "version": "5.0.0",
3932− "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
3933− "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
3934− "dev": true
3935− },
3936− "minipass-fetch": {
3937− "version": "3.0.3",
3938− "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz",
3939− "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==",
3940− "dev": true,
3941− "requires": {
3942− "encoding": "^0.1.13",
3943− "minipass": "^5.0.0",
3944− "minipass-sized": "^1.0.3",
3945− "minizlib": "^2.1.2"
3946− }
3947− },
3948− "ssri": {
3949− "version": "10.0.4",
3950− "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz",
3951− "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==",
3952− "dev": true,
3953− "requires": {
3954− "minipass": "^5.0.0"
3955− }
3956− },
3957− "unique-filename": {
3958− "version": "3.0.0",
3959− "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz",
3960− "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==",
3961− "dev": true,
3962− "requires": {
3963− "unique-slug": "^4.0.0"
3964− }
3965− },
3966− "unique-slug": {
3967− "version": "4.0.0",
3968− "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz",
3969− "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==",
3970− "dev": true,
3971− "requires": {
3972− "imurmurhash": "^0.1.4"
3973− }
3974− }
3975− }
3976− },
3977− "ssri": {
3978− "version": "6.0.2",
3979− "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
3980− "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
3981− "dev": true,
3982− "requires": {
3983− "figgy-pudding": "^3.5.1"
3984− }
3985− },
3986− "stream-each": {
3987− "version": "1.2.3",
3988− "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
3989− "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
3990− "dev": true,
3991− "requires": {
3992− "end-of-stream": "^1.1.0",
3993− "stream-shift": "^1.0.0"
3994− }
3995− },
3996− "stream-shift": {
3997− "version": "1.0.1",
3998− "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
3999− "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
4000− "dev": true
4001− },
4002− "string_decoder": {
4003− "version": "1.1.1",
4004− "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
4005− "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
4006− "dev": true,
4007− "requires": {
4008− "safe-buffer": "~5.1.0"
4009− }
4010− },
4011− "string-width": {
4012− "version": "4.2.3",
4013− "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
4014− "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
4015− "dev": true,
4016− "requires": {
4017− "emoji-regex": "^8.0.0",
4018− "is-fullwidth-code-point": "^3.0.0",
4019− "strip-ansi": "^6.0.1"
4020− }
4021− },
4022− "string-width-cjs": {
4023− "version": "npm:string-width@4.2.3",
4024− "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
4025− "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
4026− "dev": true,
4027− "requires": {
4028− "emoji-regex": "^8.0.0",
4029− "is-fullwidth-code-point": "^3.0.0",
4030− "strip-ansi": "^6.0.1"
4031− }
4032− },
4033− "strip-ansi": {
4034− "version": "6.0.1",
4035− "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
4036− "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
4037− "dev": true,
4038− "requires": {
4039− "ansi-regex": "^5.0.1"
4040− }
4041− },
4042− "strip-ansi-cjs": {
4043− "version": "npm:strip-ansi@6.0.1",
4044− "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
4045− "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
4046− "dev": true,
4047− "requires": {
4048− "ansi-regex": "^5.0.1"
4049− }
4050− },
4051− "strip-final-newline": {
4052− "version": "2.0.0",
4053− "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
4054− "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
4055− "dev": true
4056− },
4057− "supports-color": {
4058− "version": "5.5.0",
4059− "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
4060− "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
4061− "dev": true,
4062− "requires": {
4063− "has-flag": "^3.0.0"
4064− }
4065− },
4066− "tar": {
4067− "version": "6.1.15",
4068− "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz",
4069− "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==",
4070− "dev": true,
4071− "requires": {
4072− "chownr": "^2.0.0",
4073− "fs-minipass": "^2.0.0",
4074− "minipass": "^5.0.0",
4075− "minizlib": "^2.1.1",
4076− "mkdirp": "^1.0.3",
4077− "yallist": "^4.0.0"
4078− },
4079− "dependencies": {
4080− "chownr": {
4081− "version": "2.0.0",
4082− "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
4083− "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
4084− "dev": true
4085− },
4086− "minipass": {
4087− "version": "5.0.0",
4088− "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
4089− "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
4090− "dev": true
4091− },
4092− "mkdirp": {
4093− "version": "1.0.4",
4094− "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
4095− "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
4096− "dev": true
4097− },
4098− "yallist": {
4099− "version": "4.0.0",
4100− "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
4101− "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
4102− "dev": true
4103− }
4104− }
4105− },
4106− "through2": {
4107− "version": "2.0.5",
4108− "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
4109− "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
4110− "dev": true,
4111− "requires": {
4112− "readable-stream": "~2.3.6",
4113− "xtend": "~4.0.1"
4114− }
4115− },
4116− "type-fest": {
4117− "version": "0.21.3",
4118− "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
4119− "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
4120− "dev": true
4121− },
4122− "typedarray": {
4123− "version": "0.0.6",
4124− "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
4125− "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
4126− "dev": true
4127− },
4128− "unique-filename": {
4129− "version": "1.1.1",
4130− "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
4131− "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
4132− "dev": true,
4133− "requires": {
4134− "unique-slug": "^2.0.0"
4135− }
4136− },
4137− "unique-slug": {
4138− "version": "2.0.2",
4139− "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
4140− "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
4141− "dev": true,
4142− "requires": {
4143− "imurmurhash": "^0.1.4"
4144− }
4145− },
4146− "util-deprecate": {
4147− "version": "1.0.2",
4148− "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
4149− "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
4150− "dev": true
4151− },
4152− "which": {
4153− "version": "1.3.1",
4154− "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
4155− "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
4156− "dev": true,
4157− "requires": {
4158− "isexe": "^2.0.0"
4159− }
4160− },
4161− "wrap-ansi": {
4162− "version": "6.2.0",
4163− "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
4164− "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
4165− "dev": true,
4166− "requires": {
4167− "ansi-styles": "^4.0.0",
4168− "string-width": "^4.1.0",
4169− "strip-ansi": "^6.0.0"
4170− },
4171− "dependencies": {
4172− "ansi-styles": {
4173− "version": "4.3.0",
4174− "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
4175− "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
4176− "dev": true,
4177− "requires": {
4178− "color-convert": "^2.0.1"
4179− }
4180− },
4181− "color-convert": {
4182− "version": "2.0.1",
4183− "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
4184− "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
4185− "dev": true,
4186− "requires": {
4187− "color-name": "~1.1.4"
4188− }
4189− },
4190− "color-name": {
4191− "version": "1.1.4",
4192− "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
4193− "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
4194− "dev": true
4195− }
4196− }
4197− },
4198− "wrap-ansi-cjs": {
4199− "version": "npm:wrap-ansi@7.0.0",
4200− "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
4201− "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
4202− "dev": true,
4203− "requires": {
4204− "ansi-styles": "^4.0.0",
4205− "string-width": "^4.1.0",
4206− "strip-ansi": "^6.0.0"
4207− },
4208− "dependencies": {
4209− "ansi-styles": {
4210− "version": "4.3.0",
4211− "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
4212− "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
4213− "dev": true,
4214− "requires": {
4215− "color-convert": "^2.0.1"
4216− }
4217− },
4218− "color-convert": {
4219− "version": "2.0.1",
4220− "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
4221− "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
4222− "dev": true,
4223− "requires": {
4224− "color-name": "~1.1.4"
4225− }
4226− },
4227− "color-name": {
4228− "version": "1.1.4",
4229− "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
4230− "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
4231− "dev": true
4232− }
4233− }
4234− },
4235− "wrappy": {
4236− "version": "1.0.2",
4237− "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
4238− "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
4239− "dev": true
4240− },
4241− "xhr2": {
4242− "version": "0.2.1",
4243− "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.2.1.tgz",
4244− "integrity": "sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw==",
4245− "dev": true
4246− },
4247− "xtend": {
4248− "version": "4.0.2",
4249− "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
4250− "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
4251− "dev": true
4252− },
4253− "y18n": {
4254− "version": "4.0.3",
4255− "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
4256− "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
4257− "dev": true
4258− },
4259− "yallist": {
4260− "version": "3.1.1",
4261− "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
4262− "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
4263− "dev": true
4264− },
4265− "zen-observable": {
4266− "version": "0.8.15",
4267− "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz",
4268− "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==",
4269− "dev": true
4270− }
4271 }
2390 }
4272}
2391}
spago.dhall+3
@@ -17,12 +17,15 @@ to generate this file without the comments in this block.
17 , "console"
17 , "console"
18 , "effect"
18 , "effect"
19 , "either"
19 , "either"
20+ , "foreign"
20 , "http-methods"
21 , "http-methods"
22+ , "lists"
21 , "maybe"
23 , "maybe"
22 , "media-types"
24 , "media-types"
23 , "prelude"
25 , "prelude"
24 , "simple-json"
26 , "simple-json"
25 , "strings"
27 , "strings"
28+ , "transformers"
26 ]
29 ]
27, packages = ./packages.dhall
30, packages = ./packages.dhall
28, sources = [ "src/**/*.purs" ]
31, sources = [ "src/**/*.purs" ]
src/GraphQL.purs+132−17
@@ -7,57 +7,172 @@ import Affjax as AX
7import Affjax.RequestBody as RequestBody
7import Affjax.RequestBody as RequestBody
8import Affjax.RequestHeader (RequestHeader(..))
8import Affjax.RequestHeader (RequestHeader(..))
9import Affjax.ResponseFormat as ResponseFormat
9import Affjax.ResponseFormat as ResponseFormat
10+import Control.Monad.Error.Class (class MonadThrow)
10import Data.Either (Either(..))
11import Data.Either (Either(..))
11import Data.HTTP.Method (Method(..))
12import Data.HTTP.Method (Method(..))
13+import Data.List.Types (NonEmptyList)
12import Data.Maybe (Maybe(..))
14import Data.Maybe (Maybe(..))
13import Data.MediaType (MediaType(..))
15import Data.MediaType (MediaType(..))
14import Data.String as String
16import Data.String as String
15import Data.Symbol (class IsSymbol, reflectSymbol)
17import Data.Symbol (class IsSymbol, reflectSymbol)
16import Effect.Aff (Aff, error, throwError)
18import Effect.Aff (Aff, error, throwError)
19+import Effect.Aff.Class (class MonadAff, liftAff)
17import Effect.Class (liftEffect)
20import Effect.Class (liftEffect)
18import Effect.Class.Console as Log
21import Effect.Class.Console as Log
22+import Foreign (ForeignError)
19import Simple.JSON as JSON
23import Simple.JSON as JSON
20import Type.Proxy (Proxy(..))
24import Type.Proxy (Proxy(..))
21
25
22data GraphQL
26data GraphQL
23
27
24−data Gql (operation :: GraphQL)
28+data Gql (operation :: GraphQL) = Gql
25− = Gql
26
29
27−class GraphQLReqRes (operation :: GraphQL) (gql :: Symbol) (i :: Row Type) (o :: Row Type) | operation -> gql i o
30+class
31+ GraphQLReqRes
32+ (operation :: GraphQL)
33+ (gql :: Symbol)
34+ (i :: Row Type)
35+ (o :: Row Type)
36+ | operation -> gql i o
28
37
29type Endpoint = String
38type Endpoint = String
39+type NetworkErrorInfo =
40+ { endpoint :: Endpoint
41+ , requestHeaders :: Array RequestHeader
42+ , requestBody :: String
43+ , error :: AX.Error
44+ }
30
45
31−type GraphQLClient' (operation :: GraphQL) (gql :: Symbol) (i :: Row Type) (o :: Row Type) = GraphQLReqRes operation gql i o => IsSymbol gql => JSON.WriteForeign { | i } => JSON.ReadForeign { | o } => Gql operation -> Record i -> Aff { | o }
46+type ParsingErrorInfo =
47+ { endpoint :: Endpoint
48+ , requestHeaders :: Array RequestHeader
49+ , requestBody :: String
50+ , response :: AX.Response String
51+ , jsonParsingError :: NonEmptyList ForeignError
52+ }
32
53
33−type GraphQLClient = forall (operation :: GraphQL) (gql :: Symbol) (i :: Row Type) (o :: Row Type). GraphQLClient' operation gql i o
54+type GraphQLClient''
55+ (operation :: GraphQL)
56+ (gql :: Symbol)
57+ (i :: Row Type)
58+ (o :: Row Type)
59+ (m :: Type -> Type)
60+ (e :: Type) =
61+ GraphQLReqRes operation gql i o
62+ => IsSymbol gql
63+ => JSON.WriteForeign { | i }
64+ => JSON.ReadForeign { | o }
65+ => MonadAff m
66+ => MonadThrow e m
67+ => (NetworkErrorInfo -> e)
68+ -> (ParsingErrorInfo -> e)
69+ -> Gql operation
70+ -> Record i
71+ -> m { | o }
34
72
73+type GraphQLClient =
74+ forall (operation :: GraphQL)
75+ (gql :: Symbol) (i :: Row Type) (o :: Row Type) (m :: Type -> Type) (e :: Type)
76+ . GraphQLReqRes operation gql i o
77+ => IsSymbol gql
78+ => JSON.WriteForeign { | i }
79+ => JSON.ReadForeign { | o }
80+ => MonadAff m
81+ => MonadThrow e m
82+ => (NetworkErrorInfo -> e)
83+ -> (ParsingErrorInfo -> e)
84+ -> Gql operation
85+ -> Record i
86+ -> m { | o }
87+
88+type GraphQLClientAff =
89+ forall (operation :: GraphQL) (gql :: Symbol) (i :: Row Type) (o :: Row Type)
90+ . GraphQLReqRes operation gql i o
91+ => IsSymbol gql
92+ => JSON.WriteForeign { | i }
93+ => JSON.ReadForeign { | o }
94+ => Gql operation
95+ -> Record i
96+ -> Aff { | o }
97+
98+graphQL
99+ :: Endpoint
100+ -> Array RequestHeader
101+ -> AffjaxDriver
102+ -> ( forall (operation :: GraphQL) (gql :: Symbol) (i :: Row Type) (o :: Row Type)
103+ . GraphQLReqRes operation gql i o
104+ => IsSymbol gql
105+ => JSON.WriteForeign { | i }
106+ => JSON.ReadForeign { | o }
107+ => Gql operation
108+ -> Record i
109+ -> Aff { | o }
110+ )
111+graphQL endpoint headers driver = graphQL'
112+ endpoint
113+ headers
114+ driver
115+ (error <<< AX.printError <<< _.error)
116+ (error <<< _.body <<< _.response)
117+
118+
35−graphQL :: Endpoint -> Array RequestHeader -> AffjaxDriver -> GraphQLClient
119+graphQL' :: Endpoint -> Array RequestHeader -> AffjaxDriver -> GraphQLClient
36−graphQL endpoint headers driver = go
120+graphQL' endpoint headers' driver = go
37 where
121 where
38− go :: forall (operation :: GraphQL) (gql :: Symbol) (i :: Row Type) (o :: Row Type). GraphQLReqRes operation gql i o => IsSymbol gql => JSON.WriteForeign { | i } => JSON.ReadForeign { | o } => Gql operation -> Record i -> Aff { | o }
122+ requestHeaders = headers' <> [ ContentType $ MediaType "application/json" ]
123+
124+ go
125+ :: forall (operation :: GraphQL) (gql :: Symbol)
126+ (i :: Row Type) (o :: Row Type) (m :: Type -> Type) (e :: Type)
127+ . GraphQLReqRes operation gql i o
128+ => IsSymbol gql
129+ => JSON.WriteForeign
130+ { | i }
131+ => JSON.ReadForeign { | o }
132+ => MonadAff m
133+ => MonadThrow e m
134+ => (NetworkErrorInfo -> e)
135+ -> (ParsingErrorInfo -> e)
136+ -> Gql operation
137+ -> Record i
138+ -> m { | o }
39− go _ variables = do
139+ go networkErrorF readErrorF _ variables = do
40 let
140 let
41 input =
141 input =
42 { variables
142 { variables
43− , query: String.replaceAll (String.Pattern "\n") (String.Replacement " ") (String.replaceAll (String.Pattern "\r\n") (String.Replacement " ") (reflectSymbol (Proxy :: Proxy gql)))
143+ , query: String.replaceAll (String.Pattern "\n")
144+ (String.Replacement " ")
145+ ( String.replaceAll
146+ (String.Pattern "\r\n")
147+ (String.Replacement " ")
148+ (reflectSymbol (Proxy :: Proxy gql))
149+ )
44 }
150 }
151+ requestBody = JSON.writeJSON input
45 res <-
152 res <-
46− AX.request driver
153+ liftAff $ AX.request driver
47 ( AX.defaultRequest
154 ( AX.defaultRequest
48 { url = endpoint
155 { url = endpoint
49 , method = Left POST
156 , method = Left POST
50 , responseFormat = ResponseFormat.string
157 , responseFormat = ResponseFormat.string
51 , content =
158 , content =
52− Just
159+ Just
53− (RequestBody.string (JSON.writeJSON input))
160+ (RequestBody.string requestBody)
54− , headers = headers <> [ContentType $ MediaType "application/json"]
161+ , headers = requestHeaders
55 }
162 }
56 )
163 )
57 case res of
164 case res of
58− Left err -> do
165+ Left error -> do
59 liftEffect $ Log.info "Request did not go through"
166 liftEffect $ Log.info "Request did not go through"
60− throwError (error $ AX.printError err)
167+ throwError (networkErrorF { endpoint, requestHeaders, error, requestBody })
61 Right response -> case (JSON.readJSON response.body) of
168 Right response -> case (JSON.readJSON response.body) of
62− Left err1 -> throwError (error $ ("Got an error " <> show response.body <> " err " <> show err1 <> " using input " <> (JSON.writeJSON input)))
169+ Left jsonParsingError -> throwError
170+ ( readErrorF
171+ { endpoint
172+ , requestHeaders
173+ , jsonParsingError
174+ , requestBody
175+ , response
176+ }
177+ )
63 Right ({ data: d } :: { data :: { | o } }) -> pure d
178 Right ({ data: d } :: { data :: { | o } }) -> pure d
test/Main.purs+2−3
@@ -2,14 +2,13 @@ module Test.Main where
2
2
3import Prelude
3import Prelude
4
4
5−import Affjax (AffjaxDriver)
6import Affjax.Node as AffjaxNode
5import Affjax.Node as AffjaxNode
7import Data.Foldable (for_)
6import Data.Foldable (for_)
8import Data.Maybe (Maybe(..))
7import Data.Maybe (Maybe(..))
9import Effect (Effect)
8import Effect (Effect)
10import Effect.Aff (Milliseconds(..), launchAff_)
9import Effect.Aff (Milliseconds(..), launchAff_)
11import Effect.Class.Console as Log
10import Effect.Class.Console as Log
12−import GraphQL.FunDeps (class GraphQLReqRes, Gql(..), GraphQL, GraphQLClient, graphQL)
11+import GraphQL.FunDeps (class GraphQLReqRes, Gql(..), GraphQL, GraphQLClientAff, graphQL)
13import Test.Spec (describe, it)
12import Test.Spec (describe, it)
14import Test.Spec.Reporter.Console (consoleReporter)
13import Test.Spec.Reporter.Console (consoleReporter)
15import Test.Spec.Runner (defaultConfig, runSpec')
14import Test.Spec.Runner (defaultConfig, runSpec')
@@ -51,7 +50,7 @@ instance graphqlReactFinlandConference ::
51 }
50 }
52 )
51 )
53
52
54−client :: GraphQLClient
53+client :: GraphQLClientAff
55client = graphQL "https://api.react-finland.fi/graphql" [] AffjaxNode.driver
54client = graphQL "https://api.react-finland.fi/graphql" [] AffjaxNode.driver
56
55
57main ∷ Effect Unit
56main ∷ Effect Unit