{"_id":"@azizuysal/wallet-kit","_rev":"6-a4688563eebbc8ee81d5bae8ad062900","name":"@azizuysal/wallet-kit","dist-tags":{"latest":"2.0.1"},"versions":{"0.2.0":{"name":"@azizuysal/wallet-kit","version":"0.2.0","keywords":["react-native","ios","android"],"author":{"url":"https://github.com/azizuysal","name":"Aziz Uysal","email":"github.jolly413@passmail.net"},"license":"MIT","_id":"@azizuysal/wallet-kit@0.2.0","maintainers":[{"name":"azizuysal","email":"npmjs.coming366@passmail.net"}],"homepage":"https://github.com/azizuysal/wallet-kit#readme","bugs":{"url":"https://github.com/azizuysal/wallet-kit/issues"},"dist":{"shasum":"10d28d8224c5671cf593d7bc33869335e7c4d0df","tarball":"https://registry.npmjs.org/@azizuysal/wallet-kit/-/wallet-kit-0.2.0.tgz","fileCount":37,"integrity":"sha512-DPqjR1qVcsEvRHSkHIt/GeanO3hgAKL4AylpQm1G5CEnRTqO0VGXUKd589aC9cxtYOdUyLMj23aispiOBLiNiA==","signatures":[{"sig":"MEQCIFIUznpaFBd7e8eigk9mKCy0oLlIRSWEhVezHg+8nf8xAiBIqNph8WprWA1rTdKE1EgSZKGfIX0Rp/zHMJBth54Jrg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28152},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"lib/commonjs/index","types":"lib/typescript/src/index.d.ts","module":"lib/module/index","source":"src/index","engines":{"node":">= 18.0.0"},"gitHead":"75c8866d823d75ac03b15e63a3d8e958fc77a675","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace wallet-kit-example","prepare":"bob build","release":"release-it","typecheck":"tsc --noEmit"},"_npmUser":{"name":"azizuysal","email":"npmjs.coming366@passmail.net"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/azizuysal/wallet-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.2.3","description":"A React Native wrapper for Apple PassKit written in typescript","directories":{},"resolutions":{"@types/react":"17.0.21"},"_nodeVersion":"18.19.0","eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}]},"extends":["@react-native","prettier"]},"eslintIgnore":["node_modules/","lib/"],"react-native":"src/index","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^28.1.1","react":"18.2.0","turbo":"^1.10.7","eslint":"^8.4.1","del-cli":"^5.0.0","prettier":"^2.0.5","commitlint":"^17.0.2","release-it":"^15.0.0","typescript":"^5.0.2","@types/jest":"^28.1.2","pod-install":"^0.1.0","@types/react":"~17.0.21","react-native":"0.73.2","@types/react-native":"0.70.0","@evilmartians/lefthook":"^1.5.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","react-native-builder-bob":"^0.23.2","@react-native/eslint-config":"^0.72.2","@commitlint/config-conventional":"^17.0.2","@release-it/conventional-changelog":"^5.0.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/wallet-kit_0.2.0_1705451995720_0.7770273551570823","host":"s3://npm-registry-packages"},"react-native-builder-bob":{"output":"lib","source":"src","targets":["commonjs","module",["typescript",{"project":"tsconfig.build.json"}]]}},"0.2.1":{"name":"@azizuysal/wallet-kit","version":"0.2.1","keywords":["react-native","ios","android"],"author":{"url":"https://github.com/azizuysal","name":"Aziz Uysal","email":"github.jolly413@passmail.net"},"license":"MIT","_id":"@azizuysal/wallet-kit@0.2.1","maintainers":[{"name":"azizuysal","email":"npmjs.coming366@passmail.net"}],"homepage":"https://github.com/azizuysal/wallet-kit#readme","bugs":{"url":"https://github.com/azizuysal/wallet-kit/issues"},"dist":{"shasum":"5f073992363d992808a606ba540f6c84cc6af586","tarball":"https://registry.npmjs.org/@azizuysal/wallet-kit/-/wallet-kit-0.2.1.tgz","fileCount":37,"integrity":"sha512-wHcoShK20LGCv/uBPlFOYUBANsd9eV+ezfcnfTqrTWmWkrvoNSrqmiG3Jg1m6JCf9D9XB6UoheU4jRjnCnRBrg==","signatures":[{"sig":"MEYCIQCtUF4MpTjSVxAPT3S6c5GO8f8y4raVm9ZGqbhMRI2vNAIhALl3QqNZtSDhiv1aFXqeVWLAuLwVe1lydSdKuIqjp1t1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28175},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"lib/commonjs/index","types":"lib/typescript/src/index.d.ts","module":"lib/module/index","source":"src/index","engines":{"node":">= 18.0.0"},"gitHead":"c5d97ba972aeac3093e79744fa979bea2d345b97","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace wallet-kit-example","prepare":"bob build","release":"release-it","typecheck":"tsc --noEmit"},"_npmUser":{"name":"azizuysal","email":"npmjs.coming366@passmail.net"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"repository":{"url":"git+https://github.com/azizuysal/wallet-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.2.3","description":"A React Native wrapper for Apple PassKit written in typescript","directories":{},"resolutions":{"@types/react":"17.0.21"},"_nodeVersion":"18.19.0","eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}]},"extends":["@react-native","prettier"]},"eslintIgnore":["node_modules/","lib/"],"react-native":"src/index","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^28.1.1","react":"18.2.0","turbo":"^1.10.7","eslint":"^8.4.1","del-cli":"^5.0.0","prettier":"^2.0.5","commitlint":"^17.0.2","release-it":"^15.0.0","typescript":"^5.0.2","@types/jest":"^28.1.2","pod-install":"^0.1.0","@types/react":"~17.0.21","react-native":"0.73.2","@types/react-native":"0.70.0","@evilmartians/lefthook":"^1.5.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","react-native-builder-bob":"^0.23.2","@react-native/eslint-config":"^0.72.2","@commitlint/config-conventional":"^17.0.2","@release-it/conventional-changelog":"^5.0.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/wallet-kit_0.2.1_1705524832312_0.97010771047495","host":"s3://npm-registry-packages"},"react-native-builder-bob":{"output":"lib","source":"src","targets":["commonjs","module",["typescript",{"project":"tsconfig.build.json"}]]}},"1.0.0":{"name":"@azizuysal/wallet-kit","version":"1.0.0","keywords":["react-native","ios","android","wallet","apple-wallet","google-wallet","passkit","pkpass","passes","mobile-wallet","digital-wallet","wallet-pass","react-native-wallet","add-to-wallet","payment","tickets","boarding-pass","loyalty-card"],"author":{"url":"https://github.com/azizuysal","name":"Aziz Uysal"},"license":"MIT","_id":"@azizuysal/wallet-kit@1.0.0","maintainers":[{"name":"azizuysal","email":"npm@azizuysal.com"}],"homepage":"https://github.com/azizuysal/wallet-kit#readme","bugs":{"url":"https://github.com/azizuysal/wallet-kit/issues"},"dist":{"shasum":"3d525374201602675c2b2ad2c961439e5724e016","tarball":"https://registry.npmjs.org/@azizuysal/wallet-kit/-/wallet-kit-1.0.0.tgz","fileCount":162,"integrity":"sha512-YwhzeYdRBUFO4bHgGx7vsZ8GyjSJG7C+e+j9VGzEHKKGtf95tOAm9aVhSnjHvkLhed3TQ3H6Bn/b/YB7/hcSSA==","signatures":[{"sig":"MEMCIAw8Uy45BkkdaV1l24xwNPv/EvF7EfNotqLL0udaaPjrAh8jLLNrUOLqmRC15dfLFACawLJRo1ZbPkztrY4FBL0c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1727512},"jest":{"preset":"react-native","setupFiles":["<rootDir>/jest.setup.js"],"testEnvironment":"node","moduleNameMapper":{"^react-native$":"<rootDir>/node_modules/react-native"},"coverageThreshold":{"global":{"lines":85,"branches":80,"functions":80,"statements":85},"./src/index.tsx":{"lines":85,"branches":75,"functions":80,"statements":85},"./src/WalletButton.tsx":{"lines":100,"branches":95,"functions":100,"statements":100}},"collectCoverageFrom":["src/**/*.{ts,tsx}","!src/**/*.d.ts","!src/**/__tests__/**","!src/**/*.test.{ts,tsx}","!src/**/*.spec.{ts,tsx}"],"testPathIgnorePatterns":["/node_modules/","/lib/","\\.d\\.ts$"],"transformIgnorePatterns":["node_modules/(?!(react-native|@react-native|@react-navigation)/)"],"modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","module":"./lib/module/index.js","source":"./src/index.tsx","exports":{".":{"import":{"types":"./lib/typescript/module/src/index.d.ts","default":"./lib/module/index.js"},"require":{"types":"./lib/typescript/commonjs/src/index.d.ts","default":"./lib/commonjs/index.js"}}},"gitHead":"eaf2fd50cad568db07a9aa17ffc44fe1e6f6794f","scripts":{"docs":"typedoc","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace @azizuysal/wallet-kit-example","prepare":"bob build","release":"release-it","version":"conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md","typecheck":"tsc","docs:watch":"typedoc --watch","generate-jwt":"node scripts/generate-jwt.js","docs:markdown":"typedoc --plugin typedoc-plugin-markdown --out docs/api-markdown"},"_npmUser":{"name":"azizuysal","email":"npm@azizuysal.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"security":{"url":"https://github.com/azizuysal/wallet-kit/blob/main/SECURITY.md","email":"security@azizuysal.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}","requireBranch":"main","requireCleanWorkingDir":true},"npm":{"publish":true},"github":{"release":true,"releaseName":"v${version}"},"plugins":{"@release-it/conventional-changelog":{"infile":"CHANGELOG.md","preset":{"name":"conventionalcommits","types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Chores"},{"type":"docs","section":"Documentation"},{"type":"style","section":"Styles"},{"type":"refactor","section":"Refactoring"},{"type":"perf","section":"Performance"},{"type":"test","section":"Tests"}]}}}},"repository":{"url":"git+https://github.com/azizuysal/wallet-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.8.2","description":"A React Native wrapper for Apple and Google wallet passes","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"18.20.8","eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"]},"eslintIgnore":["node_modules/","lib/","coverage/","docs/"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","turbo":"^1.10.7","yargs":"17","eslint":"^8.51.0","del-cli":"^5.1.0","typedoc":"^0.28.11","prettier":"^3.0.3","commitlint":"^17.0.2","release-it":"^17.10.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.76.5","react-test-renderer":"18.3.1","@evilmartians/lefthook":"^1.5.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","typedoc-plugin-markdown":"^4.8.1","react-native-builder-bob":"^0.35.2","@types/react-test-renderer":"^19.1.0","conventional-changelog-cli":"^5.0.0","@react-native-community/cli":"15.0.1","@react-native/eslint-config":"^0.73.1","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^17.0.2","@release-it/conventional-changelog":"^9.0.2"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/wallet-kit_1.0.0_1756777202572_0.37010958639993397","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"esm":true,"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"legacy-module","version":"0.45.5","languages":"kotlin-objc"}},"1.1.0":{"name":"@azizuysal/wallet-kit","version":"1.1.0","keywords":["react-native","ios","android","wallet","apple-wallet","google-wallet","passkit","pkpass","passes","mobile-wallet","digital-wallet","wallet-pass","react-native-wallet","add-to-wallet","payment","tickets","boarding-pass","loyalty-card"],"author":{"url":"https://github.com/azizuysal","name":"Aziz Uysal"},"license":"MIT","_id":"@azizuysal/wallet-kit@1.1.0","maintainers":[{"name":"azizuysal","email":"npm@azizuysal.com"}],"homepage":"https://github.com/azizuysal/wallet-kit#readme","bugs":{"url":"https://github.com/azizuysal/wallet-kit/issues"},"dist":{"shasum":"28141de0028543ffb1dafc2c5087eed7e0021f22","tarball":"https://registry.npmjs.org/@azizuysal/wallet-kit/-/wallet-kit-1.1.0.tgz","fileCount":180,"integrity":"sha512-khngALpHOL9uAcpaSyT0PevdveW+pqgUYk4vhBHqKS8AuZJoVYy7ipPE/obEnEi/+3/h9DbJdG0GDXyU0ehe1g==","signatures":[{"sig":"MEYCIQC42D796s0aNvQvM8p8Rv65P5t2kUfeizoajFNF/XYHXgIhAIylHhy8tgSw+Xg0vg0d5PlvpVH6DOdxhUxzfBdKfMKr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1759568},"jest":{"preset":"react-native","setupFiles":["<rootDir>/jest.setup.js"],"testEnvironment":"node","moduleNameMapper":{"^react-native$":"<rootDir>/node_modules/react-native"},"coverageThreshold":{"global":{"lines":90,"branches":90,"functions":90,"statements":90},"./src/index.tsx":{"lines":90,"branches":90,"functions":90,"statements":90},"./src/WalletButton.ios.tsx":{"lines":100,"branches":95,"functions":100,"statements":100},"./src/WalletButton.android.tsx":{"lines":100,"branches":95,"functions":100,"statements":100}},"collectCoverageFrom":["src/**/*.{ts,tsx}","!src/**/*.d.ts","!src/**/__tests__/**","!src/**/*.test.{ts,tsx}","!src/**/*.spec.{ts,tsx}","!src/WalletButton.types.ts"],"testPathIgnorePatterns":["/node_modules/","/lib/","\\.d\\.ts$"],"transformIgnorePatterns":["node_modules/(?!(react-native|@react-native|@react-navigation)/)"],"modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","module":"./lib/module/index.js","source":"./src/index.tsx","exports":{".":{"import":{"types":"./lib/typescript/module/src/index.d.ts","default":"./lib/module/index.js"},"require":{"types":"./lib/typescript/commonjs/src/index.d.ts","default":"./lib/commonjs/index.js"}}},"gitHead":"5d1e409877789ea32b7af5550194a0aebedd54d4","scripts":{"docs":"typedoc","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace @azizuysal/wallet-kit-example","prepare":"bob build","release":"release-it","version":"conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md","typecheck":"tsc","docs:watch":"typedoc --watch","generate-jwt":"node scripts/generate-jwt.js","docs:markdown":"typedoc --plugin typedoc-plugin-markdown --out docs/api-markdown"},"_npmUser":{"name":"azizuysal","email":"npm@azizuysal.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"security":{"url":"https://github.com/azizuysal/wallet-kit/blob/main/SECURITY.md","email":"security@azizuysal.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}","requireBranch":"main","requireCleanWorkingDir":true},"npm":{"publish":true},"hooks":{"before:git:release":"yarn prettier --write package.json CHANGELOG.md && git add package.json CHANGELOG.md"},"github":{"release":true,"releaseName":"v${version}"},"plugins":{"@release-it/conventional-changelog":{"header":"# Changelog\n\nAll notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.\n","infile":"CHANGELOG.md","preset":"conventionalcommits"}}},"repository":{"url":"git+https://github.com/azizuysal/wallet-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.11.0","description":"A React Native wrapper for Apple and Google wallet passes","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"24.14.1","eslintConfig":{"root":true,"rules":{"prettier/prettier":["error",{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"}],"react/react-in-jsx-scope":"off"},"extends":["@react-native","prettier"]},"eslintIgnore":["node_modules/","lib/","coverage/","docs/"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.6.1","devDependencies":{"jest":"^29.7.0","react":"18.3.1","turbo":"^1.10.7","yargs":"17","eslint":"^8.51.0","del-cli":"^5.1.0","typedoc":"^0.28.11","prettier":"^3.0.3","commitlint":"^17.0.2","release-it":"^18.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.77.3","react-test-renderer":"18.3.1","@evilmartians/lefthook":"^1.5.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","typedoc-plugin-markdown":"^4.8.1","react-native-builder-bob":"^0.35.2","@types/react-test-renderer":"^19.1.0","conventional-changelog-cli":"^5.0.0","@react-native-community/cli":"16.0.3","@react-native/eslint-config":"^0.73.1","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^17.0.2","@release-it/conventional-changelog":"^10.0.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/wallet-kit_1.1.0_1776948666814_0.6456238748534073","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"esm":true,"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"legacy-module","version":"0.45.5","languages":"kotlin-objc"}},"2.0.0":{"name":"@azizuysal/wallet-kit","version":"2.0.0","keywords":["react-native","ios","android","wallet","apple-wallet","google-wallet","passkit","pkpass","passes","mobile-wallet","digital-wallet","wallet-pass","react-native-wallet","add-to-wallet","tickets","boarding-pass","loyalty-card"],"author":{"url":"https://github.com/azizuysal","name":"Aziz Uysal"},"license":"MIT","_id":"@azizuysal/wallet-kit@2.0.0","maintainers":[{"name":"azizuysal","email":"npm@azizuysal.com"}],"homepage":"https://github.com/azizuysal/wallet-kit#readme","bugs":{"url":"https://github.com/azizuysal/wallet-kit/issues"},"dist":{"shasum":"b95694027cce86f45fb5bcfe8eec000440ce9bc0","tarball":"https://registry.npmjs.org/@azizuysal/wallet-kit/-/wallet-kit-2.0.0.tgz","fileCount":205,"integrity":"sha512-TDTeo8vpaCvCHuntIleZCSBXZtinlgBuMVEx0Y4hr7WWHR6dz5Ig1kR7oSRIdyHAG3XGKZkHhKE6BJTyUdgR+Q==","signatures":[{"sig":"MEUCIA+9uIR2UHP0XGz2xggBaLtmSli2xNif7RmSydWyu6RJAiEAlav9p9oFWRVUhyy7ExGBTbPsUrF/nA3UHyGdrCqZnog=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@azizuysal%2fwallet-kit@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1809696},"jest":{"preset":"@react-native/jest-preset","setupFiles":["<rootDir>/jest.setup.js"],"testEnvironment":"node","moduleNameMapper":{"^react-native$":"<rootDir>/node_modules/react-native"},"coverageThreshold":{"global":{"lines":90,"branches":85,"functions":90,"statements":90},"./src/index.tsx":{"lines":90,"branches":85,"functions":90,"statements":90},"./src/WalletButton.ios.tsx":{"lines":100,"branches":95,"functions":100,"statements":100},"./src/WalletButton.android.tsx":{"lines":100,"branches":95,"functions":100,"statements":100}},"collectCoverageFrom":["src/**/*.{ts,tsx}","!src/**/*.d.ts","!src/**/__tests__/**","!src/**/*.test.{ts,tsx}","!src/**/*.spec.{ts,tsx}","!src/WalletButton.types.ts","!src/specs/**"],"testPathIgnorePatterns":["/node_modules/","/lib/","\\.d\\.ts$"],"transformIgnorePatterns":["node_modules/(?!(react-native|@react-native|@react-navigation)/)"],"modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","module":"./lib/module/index.js","source":"./src/index.tsx","exports":{".":{"import":{"types":"./lib/typescript/module/src/index.d.ts","default":"./lib/module/index.js"},"require":{"types":"./lib/typescript/commonjs/src/index.d.ts","default":"./lib/commonjs/index.js"}}},"gitHead":"a52d3f6db95940b0ca47da81388a540d028d2023","scripts":{"docs":"typedoc","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","verify":"yarn validate:compatibility && yarn validate:resources && yarn validate:secrets && yarn lint && yarn typecheck && yarn test --coverage && yarn prepare && yarn example build:android && yarn example build:ios && yarn docs && yarn codegen && yarn validate:package","codegen":"react-native codegen --source library","example":"yarn workspace @azizuysal/wallet-kit-example","prepare":"bob build","typecheck":"tsc","docs:watch":"typedoc --watch","generate-jwt":"node scripts/generate-jwt.js","docs:markdown":"typedoc --plugin typedoc-plugin-markdown --out docs/api-markdown","validate:package":"node scripts/validate-package.mjs","validate:secrets":"node scripts/scan-secrets.mjs","validate:resources":"node scripts/validate-android-resources.mjs","compatibility:matrix":"node scripts/compatibility-matrix.mjs","validate:compatibility":"node scripts/validate-compatibility.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a263f9c8-de1c-4328-a4c7-73c1cc51ffb1"}},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"security":{"url":"https://github.com/azizuysal/wallet-kit/blob/main/SECURITY.md","email":"security@azizuysal.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/azizuysal/wallet-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.16.0","description":"Add Apple Wallet and Google Wallet passes in React Native","directories":{},"resolutions":{"ws@npm:^7":"npm:7.5.13","@types/react":"^19.2.14","tar@npm:^7.4.3":"npm:7.5.22","ws@npm:^7.5.10":"npm:7.5.13","glob@npm:^10.2.2":"npm:10.5.0","glob@npm:^10.3.7":"npm:10.5.0","glob@npm:^10.3.10":"npm:10.5.0","flatted@npm:^3.2.9":"npm:3.4.4","fast-uri@npm:^3.0.1":"npm:3.1.4","js-yaml@npm:^3.13.1":"npm:3.15.0","lodash@npm:^4.17.21":"npm:4.18.1","minimatch@npm:^9.0.4":"npm:9.0.9","minimatch@npm:^9.0.5":"npm:9.0.9","picomatch@npm:^2.0.4":"npm:2.3.2","picomatch@npm:^2.2.3":"npm:2.3.2","picomatch@npm:^2.3.1":"npm:2.3.2","eslint-plugin-ft-flow":"^3.0.11","handlebars@npm:^4.7.7":"npm:4.7.9","image-size@npm:^1.0.2":"npm:1.2.1","linkify-it@npm:^5.0.0":"npm:5.0.2","@babel/runtime@npm:^7.25.0":"npm:7.29.7","brace-expansion@npm:^1.1.7":"npm:1.1.18","brace-expansion@npm:^2.0.1":"npm:2.1.4","brace-expansion@npm:^5.0.5":"npm:5.0.9"},"_nodeVersion":"24.18.0","codegenConfig":{"ios":{"modulesProvider":{"WalletKit":"WalletKit"},"componentProvider":{"WalletButton":"WalletButtonComponentView"}},"name":"RNWalletKitSpec","type":"all","android":{"javaPackageName":"com.azizuysal.walletkit"},"jsSrcsDir":"src/specs"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.18.0","devDependencies":{"jest":"^29.7.0","react":"19.2.5","yargs":"17","eslint":"^9.39.0","del-cli":"^5.1.0","globals":"^17.5.0","typedoc":"^0.28.11","prettier":"^3.8.3","commitlint":"^20.5.0","typescript":"^5.9.3","@types/jest":"^29.5.5","@types/react":"^19.2.14","react-native":"0.86.2","react-test-renderer":"19.2.5","react-native-test-app":"5.4.6","@evilmartians/lefthook":"^1.5.0","eslint-config-prettier":"^10.0.0","eslint-plugin-prettier":"^5.2.0","typedoc-plugin-markdown":"^4.8.1","react-native-builder-bob":"0.43.0","@react-native/jest-preset":"0.86.2","@react-native/babel-preset":"0.86.2","@types/react-test-renderer":"^19.1.0","@react-native-community/cli":"20.2.0","@react-native/eslint-config":"0.86.2","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"react":">=18.2.0","react-native":">=0.76.0"},"_npmOperationalInternal":{"tmp":"tmp/wallet-kit_2.0.0_1785513120615_0.9808752008035859","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]}},"2.0.1":{"name":"@azizuysal/wallet-kit","version":"2.0.1","description":"Add Apple Wallet and Google Wallet passes in React Native","source":"./src/index.tsx","main":"./lib/commonjs/index.js","module":"./lib/module/index.js","exports":{".":{"import":{"types":"./lib/typescript/module/src/index.d.ts","default":"./lib/module/index.js"},"require":{"types":"./lib/typescript/commonjs/src/index.d.ts","default":"./lib/commonjs/index.js"}}},"scripts":{"example":"yarn workspace @azizuysal/wallet-kit-example","test":"jest","typecheck":"tsc","lint":"eslint \"**/*.{js,ts,tsx}\"","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","prepare":"bob build","docs":"typedoc","docs:watch":"typedoc --watch","docs:markdown":"typedoc --plugin typedoc-plugin-markdown --out docs/api-markdown","generate-jwt":"node scripts/generate-jwt.js","validate:resources":"node scripts/validate-android-resources.mjs","validate:secrets":"node scripts/scan-secrets.mjs","validate:package":"node scripts/validate-package.mjs","validate:compatibility":"node scripts/validate-compatibility.mjs","compatibility:matrix":"node scripts/compatibility-matrix.mjs","codegen":"react-native codegen --source library","verify":"yarn validate:compatibility && yarn validate:resources && yarn validate:secrets && yarn lint && yarn typecheck && yarn test --coverage && yarn prepare && yarn example build:android && yarn example build:ios && yarn docs && yarn codegen && yarn validate:package"},"keywords":["react-native","ios","android","wallet","apple-wallet","google-wallet","passkit","pkpass","passes","mobile-wallet","digital-wallet","wallet-pass","react-native-wallet","add-to-wallet","tickets","boarding-pass","loyalty-card"],"repository":{"type":"git","url":"git+https://github.com/azizuysal/wallet-kit.git"},"author":{"name":"Aziz Uysal","url":"https://github.com/azizuysal"},"license":"MIT","bugs":{"url":"https://github.com/azizuysal/wallet-kit/issues"},"homepage":"https://github.com/azizuysal/wallet-kit#readme","security":{"email":"security@azizuysal.com","url":"https://github.com/azizuysal/wallet-kit/blob/main/SECURITY.md"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"devDependencies":{"@commitlint/config-conventional":"^20.5.0","@evilmartians/lefthook":"^1.5.0","@react-native-community/cli":"20.2.0","@react-native/babel-preset":"0.86.2","@react-native/eslint-config":"0.86.2","@react-native/jest-preset":"0.86.2","@testing-library/react-native":"^13.3.3","@types/jest":"^29.5.5","@types/react":"^19.2.14","@types/react-test-renderer":"^19.1.0","commitlint":"^20.5.0","del-cli":"^5.1.0","eslint":"^9.39.0","eslint-config-prettier":"^10.0.0","eslint-plugin-prettier":"^5.2.0","globals":"^17.5.0","jest":"^29.7.0","prettier":"^3.8.3","react":"19.2.5","react-native":"0.86.2","react-native-builder-bob":"0.43.0","react-native-test-app":"5.4.6","react-test-renderer":"19.2.5","typedoc":"^0.28.11","typedoc-plugin-markdown":"^4.8.1","typescript":"^5.9.3","yargs":"17"},"resolutions":{"@babel/runtime@npm:^7.25.0":"npm:7.29.7","@types/react":"^19.2.14","brace-expansion@npm:^1.1.7":"npm:1.1.18","brace-expansion@npm:^2.0.1":"npm:2.1.4","brace-expansion@npm:^5.0.5":"npm:5.0.9","eslint-plugin-ft-flow":"^3.0.11","fast-uri@npm:^3.0.1":"npm:3.1.4","flatted@npm:^3.2.9":"npm:3.4.4","glob@npm:^10.2.2":"npm:10.5.0","glob@npm:^10.3.10":"npm:10.5.0","glob@npm:^10.3.7":"npm:10.5.0","handlebars@npm:^4.7.7":"npm:4.7.9","image-size@npm:^1.0.2":"npm:1.2.1","js-yaml@npm:^3.13.1":"npm:3.15.0","linkify-it@npm:^5.0.0":"npm:5.0.2","lodash@npm:^4.17.21":"npm:4.18.1","minimatch@npm:^9.0.4":"npm:9.0.9","minimatch@npm:^9.0.5":"npm:9.0.9","picomatch@npm:^2.0.4":"npm:2.3.2","picomatch@npm:^2.2.3":"npm:2.3.2","picomatch@npm:^2.3.1":"npm:2.3.2","tar@npm:^7.4.3":"npm:7.5.22","ws@npm:^7":"npm:7.5.13","ws@npm:^7.5.10":"npm:7.5.13"},"peerDependencies":{"react":">=18.2.0","react-native":">=0.76.0"},"workspaces":["example"],"packageManager":"yarn@4.18.0","jest":{"preset":"@react-native/jest-preset","setupFiles":["<rootDir>/jest.setup.js"],"modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"],"testPathIgnorePatterns":["/node_modules/","/lib/","\\.d\\.ts$"],"transformIgnorePatterns":["node_modules/(?!(react-native|@react-native|@react-navigation)/)"],"moduleNameMapper":{"^react-native$":"<rootDir>/node_modules/react-native"},"testEnvironment":"node","collectCoverageFrom":["src/**/*.{ts,tsx}","!src/**/*.d.ts","!src/**/__tests__/**","!src/**/*.test.{ts,tsx}","!src/**/*.spec.{ts,tsx}","!src/WalletButton.types.ts","!src/specs/**"],"coverageThreshold":{"global":{"branches":85,"functions":90,"lines":90,"statements":90},"./src/WalletButton.ios.tsx":{"branches":95,"functions":100,"lines":100,"statements":100},"./src/WalletButton.android.tsx":{"branches":95,"functions":100,"lines":100,"statements":100},"./src/index.tsx":{"branches":85,"functions":90,"lines":90,"statements":90}}},"commitlint":{"extends":["@commitlint/config-conventional"]},"prettier":{"quoteProps":"consistent","singleQuote":true,"tabWidth":2,"trailingComma":"es5","useTabs":false},"react-native-builder-bob":{"source":"src","output":"lib","targets":[["commonjs",{"esm":true}],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"codegenConfig":{"name":"RNWalletKitSpec","type":"all","jsSrcsDir":"src/specs","android":{"javaPackageName":"com.azizuysal.walletkit"},"ios":{"modulesProvider":{"WalletKit":"WalletKit"},"componentProvider":{"WalletButton":"WalletButtonComponentView"}}},"gitHead":"5033bc2de5abf3a374cc932392be72dcb877f050","_id":"@azizuysal/wallet-kit@2.0.1","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-smrLCIsTQhoeU+4O4fnTXD6yoQHlw8wpE2szs9rrvQJQiPIeM1Ix7H1QljK5F0LS/rWwwzfhRSWmNKF5r5XRsA==","shasum":"18760cf769ef580270eb8536381e0d236ab7300e","tarball":"https://registry.npmjs.org/@azizuysal/wallet-kit/-/wallet-kit-2.0.1.tgz","fileCount":205,"unpackedSize":1813571,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@azizuysal%2fwallet-kit@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDzpc5IPy6nSOVtefz2wFCTmOlvoIIr4kiOvkPLypy4WAiEAoIgKdDewidV8Gk2yq+/CKlZIUYAN8T1FWpfDenXYaeE="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a263f9c8-de1c-4328-a4c7-73c1cc51ffb1"}},"directories":{},"maintainers":[{"name":"azizuysal","email":"npm@azizuysal.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/wallet-kit_2.0.1_1789132899956_0.5937001349670645"},"_hasShrinkwrap":false}},"time":{"created":"2024-01-17T00:39:55.618Z","modified":"2026-09-11T13:21:40.498Z","0.2.0":"2024-01-17T00:39:55.930Z","0.2.1":"2024-01-17T20:53:52.491Z","1.0.0":"2025-09-02T01:40:02.848Z","1.1.0":"2026-04-23T12:51:07.008Z","2.0.0":"2026-07-31T15:52:00.821Z","2.0.1":"2026-09-11T13:21:40.134Z"},"bugs":{"url":"https://github.com/azizuysal/wallet-kit/issues"},"author":{"name":"Aziz Uysal","url":"https://github.com/azizuysal"},"license":"MIT","homepage":"https://github.com/azizuysal/wallet-kit#readme","keywords":["react-native","ios","android","wallet","apple-wallet","google-wallet","passkit","pkpass","passes","mobile-wallet","digital-wallet","wallet-pass","react-native-wallet","add-to-wallet","tickets","boarding-pass","loyalty-card"],"repository":{"type":"git","url":"git+https://github.com/azizuysal/wallet-kit.git"},"description":"Add Apple Wallet and Google Wallet passes in React Native","maintainers":[{"name":"azizuysal","email":"npm@azizuysal.com"}],"readme":"# @azizuysal/wallet-kit\n\n[![npm version](https://img.shields.io/npm/v/@azizuysal/wallet-kit.svg)](https://www.npmjs.com/package/@azizuysal/wallet-kit)\n[![CI](https://github.com/azizuysal/wallet-kit/actions/workflows/ci.yml/badge.svg)](https://github.com/azizuysal/wallet-kit/actions/workflows/ci.yml)\n[![Native compatibility](https://github.com/azizuysal/wallet-kit/actions/workflows/compatibility.yml/badge.svg)](https://github.com/azizuysal/wallet-kit/actions/workflows/compatibility.yml)\n[![Security](https://github.com/azizuysal/wallet-kit/actions/workflows/security.yml/badge.svg)](https://github.com/azizuysal/wallet-kit/actions/workflows/security.yml)\n[![License](https://img.shields.io/github/license/azizuysal/wallet-kit)](LICENSE)\n\nAdd Apple Wallet passes on iOS and Google Wallet passes on Android through one React Native API. Wallet Kit includes native add-to-wallet buttons, stable error codes, final boolean outcomes, and native implementations for both React Native architectures.\n\n## Installation\n\n```sh\nnpm install @azizuysal/wallet-kit\n# or\nyarn add @azizuysal/wallet-kit\n```\n\nExpo Go is not supported because Wallet Kit contains native code. Expo development builds and bare React Native apps are supported after native dependencies are installed.\n\n## Compatibility\n\nWallet Kit 2.x supports React Native `>=0.76` with no peer upper bound. The release-blocking range is React Native 0.76 through 0.86. Later React Native versions can be installed, but are outside the full Android/iOS compatibility matrix.\n\n| React Native | Exact blocking patch | React  | Architectures  |\n| ------------ | -------------------- | ------ | -------------- |\n| 0.76         | 0.76.9               | 18.2.0 | Legacy and New |\n| 0.77         | 0.77.3               | 18.2.0 | Legacy and New |\n| 0.78         | 0.78.3               | 19.0.0 | Legacy and New |\n| 0.79         | 0.79.7               | 19.0.0 | Legacy and New |\n| 0.80         | 0.80.3               | 19.1.0 | Legacy and New |\n| 0.81         | 0.81.6               | 19.1.4 | Legacy and New |\n| 0.82         | 0.82.1               | 19.1.1 | New only       |\n| 0.83         | 0.83.10              | 19.2.0 | New only       |\n| 0.84         | 0.84.1               | 19.2.3 | New only       |\n| 0.85         | 0.85.3               | 19.2.3 | New only       |\n| 0.86         | 0.86.2               | 19.2.5 | New only       |\n\nEvery release must pass the full packed-consumer matrix in [`compatibility.json`](compatibility.json). Pull requests run the oldest, architecture boundary, and newest cells. Scheduled and release workflows run every listed cell. React Native 0.82 and later are New-Architecture-only; Wallet Kit uses generated TurboModule and Fabric implementations there rather than the compatibility interop layer.\n\nCommon platform floors are iOS 15.1, Android API 24, and Java 17. The Android library inherits the host React Native project's Android Gradle Plugin, Kotlin plugin, and SDK configuration, with API 24/36 defaults when the host does not provide values. These floors follow the [React Native 0.76 platform changes](https://reactnative.dev/blog/2024/10/23/release-0.76-new-architecture); the New-Architecture-only boundary follows [React Native 0.82](https://reactnative.dev/blog/2025/10/08/react-native-0.82).\n\nWallet Kit 2.0.1 adds Android build support for AGP 9 with built-in Kotlin and with both `android.builtInKotlin=false` and `android.newDsl=false`. The dedicated Android regression fixture uses React Native 0.87.1, AGP 9.2.1, and Gradle 9.6.1. The full Android/iOS compatibility matrix remains the range listed above.\n\nReact Native below 0.76 must remain on `@azizuysal/wallet-kit@^1`.\n\n## Native setup\n\n### iOS\n\nRun CocoaPods after installation and add the Wallet capability to the application target:\n\n```sh\ncd ios\npod install\n```\n\n### Android\n\nEnsure the application uses `minSdk` 24 or later and enables the Google Wallet API:\n\n```xml\n<application>\n  <meta-data\n    android:name=\"com.google.android.gms.wallet.api.enabled\"\n    android:value=\"true\" />\n</application>\n```\n\n## Usage\n\n```typescript\nimport WalletKit, {\n  WalletButton,\n  WalletButtonStyle,\n  type WalletError,\n} from '@azizuysal/wallet-kit';\n\nif (await WalletKit.canAddPasses()) {\n  try {\n    const added = await WalletKit.addPass(passData);\n    if (added) {\n      console.log('Pass added');\n    } else {\n      console.log('The wallet did not add the pass');\n    }\n  } catch (error) {\n    const walletError = error as WalletError;\n    console.error(walletError.code, walletError.message);\n  }\n}\n\nfunction AddButton() {\n  return (\n    <WalletButton\n      addPassButtonStyle={WalletButtonStyle.primary}\n      style={{ width: 200, height: 48 }}\n      onPress={() => {\n        void WalletKit.addPass(passData).catch((error: WalletError) => {\n          console.error(error.code, error.message);\n        });\n      }}\n    />\n  );\n}\n```\n\nOn iOS, `passData` is a base64-encoded `.pkpass`. On Android, it is a signed Google Wallet JWT. Generate and sign Android JWTs on a trusted server; never embed issuer private keys in a mobile application.\n\nOn iOS, `canAddPasses()` reports whether PassKit supports adding passes. Hiding the Wallet app with Screen Time does not disable PassKit, so it can still return `true` in that state.\n\n### Final outcomes\n\n`addPass` and `addPasses` settle after the native wallet flow finishes:\n\n- iOS `true`: every submitted pass was newly added.\n- Android `true`: Google Wallet reported a successful save. The Android SDK also\n  reports success when an object is already linked, so this is not proof that the\n  object was newly added.\n- `false`: the user cancelled on either platform, or at least one Apple Wallet\n  pass was already present.\n- rejection: validation, availability, presentation, lifecycle, or provider failure.\n\nOnly one add operation may be active at a time. A concurrent call rejects with `ERR_WALLET_IN_PROGRESS` and does not replace the active operation.\n\n`addPasses` accepts multiple Apple Wallet passes. Android accepts one JWT per call; combine multiple Google Wallet objects into one signed JWT and call `addPass`, or pass a one-element array to `addPasses`. Multiple Android array entries reject with `ERR_WALLET_MULTIPLE_NOT_SUPPORTED`.\n\n### Deprecated event compatibility\n\n`createWalletEventEmitter` and the raw-boolean `AddPassCompleted` event remain available throughout 2.x for existing consumers. Use the promise return value for new outcome handling. The event API may be removed only in 3.x.\n\n```typescript\nimport { createWalletEventEmitter } from '@azizuysal/wallet-kit';\n\nconst emitter = createWalletEventEmitter();\nconst subscription = emitter.addListener('AddPassCompleted', (added: boolean) =>\n  console.log(added)\n);\n\nsubscription.remove();\n```\n\n## Native button styles\n\n| Style       | iOS                             | Android                              |\n| ----------- | ------------------------------- | ------------------------------------ |\n| `primary`   | Black `PKAddPassButton`         | Standard black Google Wallet button  |\n| `secondary` | Black-outline `PKAddPassButton` | Condensed black Google Wallet button |\n| `outline`   | Alias of `secondary`            | Alias of `secondary`                 |\n\n`outline` is deprecated but remains available throughout 2.x. Android bundles Google's standard and condensed resources and valid Android locale qualifiers, following the [Google Wallet brand guidelines](https://developers.google.com/wallet/generic/resources/brand-guidelines).\n\n## Error codes\n\nWallet operations reject with a `WalletError` containing one of these stable codes:\n\n- `INVALID_PASS`: missing or unrecognized pass data.\n- `UNSUPPORTED_VERSION`: unsupported Apple Wallet pass version.\n- `ERR_WALLET_NOT_AVAILABLE`: the platform wallet cannot add passes or cannot create its add-pass controller.\n- `ERR_WALLET_ACTIVITY_NULL`: Android has no current activity.\n- `ERR_WALLET_MULTIPLE_NOT_SUPPORTED`: multiple Android array entries were supplied.\n- `ERR_WALLET_IN_PROGRESS`: another add operation is active.\n- `ERR_WALLET_UNKNOWN`: an availability, launch, presentation, lifecycle, or unexpected provider failure.\n\nCancellation is not an error and resolves with `false`.\n\n## Migrating from 1.x\n\n- Change outcome handling from the `AddPassCompleted` event to the boolean returned by `addPass` or `addPasses`. Existing listeners continue to work.\n- Raise the application floors to iOS 15.1, Android API 24, and Java 17.\n- Use React Native 0.76 or later and React 18.2 or later. Older applications remain on Wallet Kit 1.x.\n- Serialize add operations on both platforms and handle `ERR_WALLET_IN_PROGRESS`.\n- Replace `WalletButtonStyle.outline` with `WalletButtonStyle.secondary`; the old value remains an alias during 2.x.\n- No migration is required for New Architecture apps. Codegen registers the TurboModule and Fabric component through the package metadata.\n\n## Example and API reference\n\nThe [React Native Test App example](example/README.md) exercises availability, both promise methods, the deprecated event, and every button style. Android credentials are deliberately excluded; see the [local JWT guide](scripts/README.md).\n\nThe generated [API reference](https://azizuysal.github.io/wallet-kit/) contains the complete TypeScript surface.\n\n## Security\n\nReport vulnerabilities privately as described in [SECURITY.md](SECURITY.md). Do not include credentials or signed production passes in reports.\n\n## Contributing and releases\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for development instructions and [RELEASING.md](RELEASING.md) for the release evidence gates.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}