{"versions":{"1.0.0":{"name":"@expo/results","version":"1.0.0","description":"An efficient, standards-compliant library for representing results of successful or failed operations","main":"build/results.js","types":"build/results.d.ts","scripts":{"clean":"rm -rf build coverage","lint":"eslint --ext '.ts' src","prepublish":"rm -rf build coverage","prepare":"tsc","prettier":"prettier --write 'src/**/*.ts'","test":"jest"},"jest":{"preset":"ts-jest","coverageDirectory":"<rootDir>/coverage","coverageProvider":"babel","roots":["<rootDir>/src/"],"testEnvironment":"node"},"eslintConfig":{"extends":"universe/node","settings":{"react":{"version":"999.999.999"}}},"prettier":{"printWidth":100,"singleQuote":true},"engines":{"node":">=10"},"keywords":["result","fulfilled","rejected","allsettled"],"repository":{"type":"git","url":"git+https://github.com/expo/results.git"},"author":{"name":"Expo"},"license":"MIT","bugs":{"url":"https://github.com/expo/results/issues"},"homepage":"https://github.com/expo/results#readme","devDependencies":{"@types/jest":"^25.2.1","eslint":"^6.8.0","eslint-config-universe":"^3.0.0","jest":"^25.5.1","prettier":"^2.0.5","ts-jest":"~25.4.0","typescript":"^3.8.3"},"gitHead":"159f5140bd48eb26556c90e2d6455849d874f87e","_id":"@expo/results@1.0.0","_nodeVersion":"14.0.0","_npmVersion":"6.14.4","dist":{"shasum":"fd4b22f936ceafce23b04799f54b87fe2a9e18d1","size":5343,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@expo/results/-/results-1.0.0.tgz","integrity":"sha512-qECzzXX5oJot3m2Gu9pfRDz50USdBieQVwYAzeAtQRUTD3PVeTK1tlRUoDcrK8PSruDLuVYdKkLebX4w/o55VA=="},"maintainers":[{"name":"anonymous","email":"andyboythekid@gmail.com"},{"name":"anonymous","email":"bartlomiejbukowski.b@gmail.com"},{"name":"anonymous","email":"brentvatne@gmail.com"},{"name":"anonymous","email":"me@bycedric.com"},{"name":"anonymous","email":"ccheever@gmail.com"},{"name":"anonymous","email":"charliecruzan@gmail.com"},{"name":"anonymous","email":"dominiksokal@gmail.com"},{"name":"anonymous","email":"eric@expo.io"},{"name":"anonymous","email":"baconbrix@gmail.com"},{"name":"anonymous","email":"datwheat@gmail.com"},{"name":"anonymous","email":"ide+npm@jameside.com"},{"name":"anonymous","email":"jonathan@expo.io"},{"name":"anonymous","email":"sampjon@gmail.com"},{"name":"anonymous","email":"ckchien@gmail.com"},{"name":"anonymous","email":"quinlanjung@gmail.com"},{"name":"anonymous","email":"tc@expo.io"},{"name":"anonymous","email":"sapeta.tomasz@gmail.com"},{"name":"anonymous","email":"wojciech.kozyra@swmansion.com"},{"name":"anonymous","email":"wschurman@gmail.com"}],"_npmUser":{"name":"anonymous","email":"ide+npm@jameside.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/results_1.0.0_1588202816599_0.2513348417815571"},"_hasShrinkwrap":false,"publish_time":1588202816932,"_cnpm_publish_time":1588202816932,"_cnpmcore_publish_time":"2021-12-16T22:11:41.621Z","contributors":[]},"0.3.0":{"name":"@expo/results","version":"0.3.0","description":"An efficient, standards-compliant library for representing results of successful or failed operations","main":"build/results.js","types":"build/results.d.ts","scripts":{"clean":"rm -rf build coverage","test":"jest","prepublish":"rm -rf build coverage","prepare":"tsc"},"jest":{"preset":"ts-jest","roots":["<rootDir>/src/"]},"engines":{"node":">=8"},"keywords":["result","fulfilled","rejected","allsettled"],"author":{"name":"Expo"},"license":"MIT","devDependencies":{"@types/jest":"^24.0.24","jest":"^24.9.0","ts-jest":"~24.2.0","typescript":"^3.7.3"},"_id":"@expo/results@0.3.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"shasum":"8b4dea332737ff7984d01954dda75a185169ac99","size":7341,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@expo/results/-/results-0.3.0.tgz","integrity":"sha512-vSLjCqyjFRaBOLgeyY5qUZNkRZ9mve60664ZhFUc5//YctvhS0ILvxsOXxVLgNtHYb7eNYEoP/QHwE5tlqKYGg=="},"maintainers":[{"name":"anonymous","email":"andyboythekid@gmail.com"},{"name":"anonymous","email":"bartlomiejbukowski.b@gmail.com"},{"name":"anonymous","email":"brentvatne@gmail.com"},{"name":"anonymous","email":"me@bycedric.com"},{"name":"anonymous","email":"ccheever@gmail.com"},{"name":"anonymous","email":"charliecruzan@gmail.com"},{"name":"anonymous","email":"dominiksokal@gmail.com"},{"name":"anonymous","email":"eric@expo.io"},{"name":"anonymous","email":"baconbrix@gmail.com"},{"name":"anonymous","email":"datwheat@gmail.com"},{"name":"anonymous","email":"ide+npm@jameside.com"},{"name":"anonymous","email":"jonathan@expo.io"},{"name":"anonymous","email":"sampjon@gmail.com"},{"name":"anonymous","email":"ckchien@gmail.com"},{"name":"anonymous","email":"quinlanjung@gmail.com"},{"name":"anonymous","email":"tc@expo.io"},{"name":"anonymous","email":"sapeta.tomasz@gmail.com"},{"name":"anonymous","email":"wojciech.kozyra@swmansion.com"},{"name":"anonymous","email":"wschurman@gmail.com"}],"_npmUser":{"name":"anonymous","email":"wschurman@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/results_0.3.0_1579812966340_0.4700087365229093"},"_hasShrinkwrap":false,"publish_time":1579812966494,"_cnpm_publish_time":1579812966494,"_cnpmcore_publish_time":"2021-12-16T22:11:41.810Z","contributors":[]},"0.2.0":{"name":"@expo/results","version":"0.2.0","description":"An efficient, standards-compliant library for representing results of successful or failed operations","main":"build/results.js","types":"build/results.d.ts","scripts":{"clean":"rm -rf build coverage","test":"jest","prepublish":"rm -rf build coverage","prepare":"tsc"},"jest":{"preset":"ts-jest","roots":["<rootDir>/src/"]},"engines":{"node":">=8"},"keywords":["result","fulfilled","rejected","allsettled"],"author":{"name":"Expo"},"license":"MIT","devDependencies":{"@types/jest":"^24.0.24","jest":"^24.9.0","ts-jest":"~24.2.0","typescript":"^3.7.3"},"_id":"@expo/results@0.2.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"shasum":"ec020006f8b7ea829fb2a0e496a21ed21fef10e5","size":7282,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@expo/results/-/results-0.2.0.tgz","integrity":"sha512-PsCpwG1b9XIaBZp9lhBTCKiPJEO/4zNLAMdsWVg6hwDGYLX+7G7SEdo2bgC7LP48zcS3M2CUNry7+aGy72xxXg=="},"maintainers":[{"name":"anonymous","email":"andyboythekid@gmail.com"},{"name":"anonymous","email":"bartlomiejbukowski.b@gmail.com"},{"name":"anonymous","email":"brentvatne@gmail.com"},{"name":"anonymous","email":"me@bycedric.com"},{"name":"anonymous","email":"ccheever@gmail.com"},{"name":"anonymous","email":"charliecruzan@gmail.com"},{"name":"anonymous","email":"dominiksokal@gmail.com"},{"name":"anonymous","email":"eric@expo.io"},{"name":"anonymous","email":"baconbrix@gmail.com"},{"name":"anonymous","email":"datwheat@gmail.com"},{"name":"anonymous","email":"ide+npm@jameside.com"},{"name":"anonymous","email":"jonathan@expo.io"},{"name":"anonymous","email":"sampjon@gmail.com"},{"name":"anonymous","email":"ckchien@gmail.com"},{"name":"anonymous","email":"quinlanjung@gmail.com"},{"name":"anonymous","email":"tc@expo.io"},{"name":"anonymous","email":"sapeta.tomasz@gmail.com"},{"name":"anonymous","email":"wojciech.kozyra@swmansion.com"},{"name":"anonymous","email":"wschurman@gmail.com"}],"_npmUser":{"name":"anonymous","email":"ide+npm@jameside.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/results_0.2.0_1578463613685_0.3989079150476007"},"_hasShrinkwrap":false,"publish_time":1578463613820,"_cnpm_publish_time":1578463613820,"_cnpmcore_publish_time":"2021-12-16T22:11:42.028Z","contributors":[]},"0.1.1":{"name":"@expo/results","version":"0.1.1","description":"An efficient, standards-compliant library for representing results of successful or failed operations","main":"build/results.js","types":"build/results.d.ts","scripts":{"clean":"rm -rf build coverage","test":"jest","prepublish":"rm -rf build coverage","prepare":"tsc"},"jest":{"preset":"ts-jest","roots":["<rootDir>/src/"]},"engines":{"node":">=8"},"keywords":["result","fulfilled","rejected","allsettled"],"author":{"name":"Expo"},"license":"MIT","devDependencies":{"@types/jest":"^24.0.24","jest":"^24.9.0","ts-jest":"~24.2.0","typescript":"^3.7.3"},"_id":"@expo/results@0.1.1","_nodeVersion":"10.17.0","_npmVersion":"6.11.3","dist":{"shasum":"d64b3a6cfe8e2f434292d7f097b80591d9bbf122","size":5832,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@expo/results/-/results-0.1.1.tgz","integrity":"sha512-WHU0cpGE85GqE47pZibz44arIt2WECOsbe3JvXnR5dxKN4BKiklEvpJNZkvlwFsOXdIBEdg2TLDuMqSjnbNjBg=="},"maintainers":[{"name":"anonymous","email":"andyboythekid@gmail.com"},{"name":"anonymous","email":"bartlomiejbukowski.b@gmail.com"},{"name":"anonymous","email":"brentvatne@gmail.com"},{"name":"anonymous","email":"me@bycedric.com"},{"name":"anonymous","email":"ccheever@gmail.com"},{"name":"anonymous","email":"charliecruzan@gmail.com"},{"name":"anonymous","email":"dominiksokal@gmail.com"},{"name":"anonymous","email":"eric@expo.io"},{"name":"anonymous","email":"baconbrix@gmail.com"},{"name":"anonymous","email":"datwheat@gmail.com"},{"name":"anonymous","email":"ide+npm@jameside.com"},{"name":"anonymous","email":"jonathan@expo.io"},{"name":"anonymous","email":"sampjon@gmail.com"},{"name":"anonymous","email":"ckchien@gmail.com"},{"name":"anonymous","email":"quinlanjung@gmail.com"},{"name":"anonymous","email":"tc@expo.io"},{"name":"anonymous","email":"sapeta.tomasz@gmail.com"},{"name":"anonymous","email":"wojciech.kozyra@swmansion.com"},{"name":"anonymous","email":"wschurman@gmail.com"}],"_npmUser":{"name":"anonymous","email":"wschurman@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/results_0.1.1_1577738033324_0.42301173660838587"},"_hasShrinkwrap":false,"publish_time":1577738033453,"_cnpm_publish_time":1577738033453,"_cnpmcore_publish_time":"2021-12-16T22:11:42.289Z","contributors":[]},"0.1.0":{"name":"@expo/results","version":"0.1.0","description":"An efficient, standards-compliant library for representing results of successful or failed operations","main":"build/results.js","scripts":{"clean":"rm -rf build coverage","test":"jest","prepublish":"rm -rf build coverage","prepare":"tsc"},"jest":{"preset":"ts-jest","roots":["<rootDir>/src/"]},"engines":{"node":">=8"},"keywords":["result","fulfilled","rejected","allsettled"],"author":{"name":"Expo"},"license":"MIT","devDependencies":{"@types/jest":"^24.0.24","jest":"^24.9.0","ts-jest":"~24.2.0","typescript":"^3.7.3"},"_id":"@expo/results@0.1.0","_nodeVersion":"10.17.0","_npmVersion":"6.11.3","dist":{"shasum":"8b295e8497d3bda7f84b30bf9e7eb877f66c39cb","size":5537,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@expo/results/-/results-0.1.0.tgz","integrity":"sha512-GpHcgLZRCmmUk3KqyxbEfwl2SqnXNN6qXxv21mpdJIVh9jYRdr8Q0E9eMuJNghni2ox4xOGy/7eI/WxMPQ/biQ=="},"maintainers":[{"name":"anonymous","email":"andyboythekid@gmail.com"},{"name":"anonymous","email":"bartlomiejbukowski.b@gmail.com"},{"name":"anonymous","email":"brentvatne@gmail.com"},{"name":"anonymous","email":"me@bycedric.com"},{"name":"anonymous","email":"ccheever@gmail.com"},{"name":"anonymous","email":"charliecruzan@gmail.com"},{"name":"anonymous","email":"dominiksokal@gmail.com"},{"name":"anonymous","email":"eric@expo.io"},{"name":"anonymous","email":"baconbrix@gmail.com"},{"name":"anonymous","email":"datwheat@gmail.com"},{"name":"anonymous","email":"ide+npm@jameside.com"},{"name":"anonymous","email":"jonathan@expo.io"},{"name":"anonymous","email":"sampjon@gmail.com"},{"name":"anonymous","email":"ckchien@gmail.com"},{"name":"anonymous","email":"quinlanjung@gmail.com"},{"name":"anonymous","email":"tc@expo.io"},{"name":"anonymous","email":"sapeta.tomasz@gmail.com"},{"name":"anonymous","email":"wojciech.kozyra@swmansion.com"},{"name":"anonymous","email":"wschurman@gmail.com"}],"_npmUser":{"name":"anonymous","email":"ide+npm@jameside.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/results_0.1.0_1576890088334_0.2398951987393485"},"_hasShrinkwrap":false,"publish_time":1576890088502,"_cnpm_publish_time":1576890088502,"_cnpmcore_publish_time":"2021-12-16T22:11:42.485Z","contributors":[]}},"dist-tags":{"latest":"1.0.0"},"name":"@expo/results","time":{"created":"2022-01-27T15:03:37.705Z","modified":"2026-02-25T15:00:14.371Z","1.0.0":"2020-04-29T23:26:56.932Z","0.3.0":"2020-01-23T20:56:06.494Z","0.2.0":"2020-01-08T06:06:53.820Z","0.1.1":"2019-12-30T20:33:53.453Z","0.1.0":"2019-12-21T01:01:28.502Z"},"readme":"# @expo/results\n[![Tests](https://github.com/expo/results/workflows/Tests/badge.svg)](https://github.com/expo/results/actions?query=branch%3Amaster)\n[![codecov](https://codecov.io/gh/expo/results/branch/master/graph/badge.svg)](https://codecov.io/gh/expo/results)\n\nAn efficient, standards-compliant library for representing results of successful or failed operations. A result object represents the result of an operation that can either return a value successfully or fail. Typically we'd simply either return a value or throw an error, but sometimes we perform multiple operations as a batch, some of which may succeed and others fail. Since we can't simultaneously return values and throw errors, we instead return collections of result objects. This allows a batch operation to return values for successful operations and errors for failed ones without loss of information, namely the errors. (In contrast, sometimes it is appropriate for a batch operation to return just successful values and omit values for failed operations.)\n\n# Usage\n\n## Using Results\n\n```ts\nimport { Result, result } from '@expo/results';\n\nconst results = await fetchWebPages(['https://expo.dev', 'http://example.com']);\nfor (const result of results) {\n  if (result.ok) {\n    console.log(result.value);\n  } else {\n    console.error(result.reason);\n  }\n}\n```\n\n## Creating Results\n\n```ts\nimport { Result, result } from '@expo/results';\n\n/**\n * The purpose of this result API is to let you write functions that can\n * partially succeed and partially fail and return all of that information to\n * the caller.\n */\nfunction fetchWebPages(urls: string[]): Promise<Result<string>[]> {\n  return Promise.all(urls.map(fetchWebPage));\n}\n\nfunction fetchWebPage(url: string): Promise<Result<string>> {\n  try {\n    const response = await fetch(url);\n    const text = await response.text();\n    return result(text);\n  } catch (e) {\n    return result(e);\n  }\n}\n```","users":{}}