{"_id":"@beletsky/react-native-yandex-remote-config","_rev":"4-0563f536edfc3142e169d71b89cc8c54","name":"@beletsky/react-native-yandex-remote-config","dist-tags":{"latest":"1.0.1"},"versions":{"0.2.0":{"name":"@beletsky/react-native-yandex-remote-config","version":"0.2.0","keywords":["react-native","ios","android"],"author":{"url":"https://github.com/YBeletsky117","name":"Yaroslav Beletsky","email":"yaroslav_beletsky@mail.ru"},"license":"MIT","_id":"@beletsky/react-native-yandex-remote-config@0.2.0","maintainers":[{"name":"yaroslav_beletsky","email":"yaroslav_beletsky@mail.ru"}],"homepage":"https://github.com/YBeletsky117/react-native-yandex-remote-config#readme","bugs":{"url":"https://github.com/YBeletsky117/react-native-yandex-remote-config/issues"},"dist":{"shasum":"7e43773e34b9acfafe703d2fdc7f48a0be9b5317","tarball":"https://registry.npmjs.org/@beletsky/react-native-yandex-remote-config/-/react-native-yandex-remote-config-0.2.0.tgz","fileCount":80,"integrity":"sha512-XGhq7CW5jj33myLO3ojQWYoYIuV6CZfUh8V7eG7ewm8lcEeD20/ldY0CeVOl3Ej6vcKld6TEI+q9nq7JnO0bAA==","signatures":[{"sig":"MEUCIDnje/pmLJH3dAmZILtWOOq2QKEyuGz91BPL4RBwYNHqAiEAyQUk7KgVJ6FlhDjeeBiqjYe/rCquSuHDoKGbMBiduP8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71186},"jest":{"preset":"react-native","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":"e294f3b66b113fc0512493448b0c337de804f708","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 react-native-yandex-remote-config-example","prepare":"bob build","release":"release-it","typecheck":"tsc"},"_npmUser":{"name":"yaroslav_beletsky","email":"yaroslav_beletsky@mail.ru"},"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/YBeletsky117/react-native-yandex-remote-config.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.7.0","description":"Yandex Remote Config for React Native","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.14.0","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/"],"publishConfig":{"access":"public","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","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","commitlint":"^17.0.2","release-it":"^15.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.2","auto-changelog":"2.4.0","@evilmartians/lefthook":"^1.5.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-builder-bob":"^0.30.0","@react-native/eslint-config":"^0.73.1","@commitlint/config-conventional":"^17.0.2","@release-it/conventional-changelog":"^5.0.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-yandex-remote-config_0.2.0_1724913917450_0.5385736532990189","host":"s3://npm-registry-packages"},"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":"module-legacy","version":"0.41.0","languages":"kotlin-swift"}},"0.2.1":{"name":"@beletsky/react-native-yandex-remote-config","version":"0.2.1","keywords":["react-native","ios","android"],"author":{"url":"https://github.com/YBeletsky117","name":"Yaroslav Beletsky","email":"yaroslav_beletsky@mail.ru"},"license":"MIT","_id":"@beletsky/react-native-yandex-remote-config@0.2.1","maintainers":[{"name":"yaroslav_beletsky","email":"yaroslav_beletsky@mail.ru"}],"homepage":"https://github.com/YBeletsky117/react-native-yandex-remote-config#readme","bugs":{"url":"https://github.com/YBeletsky117/react-native-yandex-remote-config/issues"},"dist":{"shasum":"53ae016032171b1f7906ae9c2ee06157d1d0efc2","tarball":"https://registry.npmjs.org/@beletsky/react-native-yandex-remote-config/-/react-native-yandex-remote-config-0.2.1.tgz","fileCount":80,"integrity":"sha512-oQ7k7BOAulrjnSI5bMNfQ78l3r8Das1GvZ07ku8bAOnmFQ6doVCbt634AL+mrU8utKm/Vminq46u64b/6ijJ8Q==","signatures":[{"sig":"MEQCIDig7z8FeuQui+CDDTQojUsL80rJwR4iefRQR+cHLK7dAiB8f4U+I9yGgMfWwJqD4A3n9UJW3pYHgmlIC8Hu2IjT1w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83037},"jest":{"preset":"react-native","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":"90580cd90f951fb6f92a0b57360a90b674ee2873","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 react-native-yandex-remote-config-example","prepare":"bob build","release":"release-it","typecheck":"tsc"},"_npmUser":{"name":"yaroslav_beletsky","email":"yaroslav_beletsky@mail.ru"},"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/YBeletsky117/react-native-yandex-remote-config.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.7.0","description":"Yandex Remote Config for React Native","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.14.0","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/"],"publishConfig":{"access":"public","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","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","commitlint":"^17.0.2","release-it":"^15.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.2","auto-changelog":"2.4.0","@evilmartians/lefthook":"^1.5.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-builder-bob":"^0.30.0","@react-native/eslint-config":"^0.73.1","@commitlint/config-conventional":"^17.0.2","@release-it/conventional-changelog":"^5.0.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-yandex-remote-config_0.2.1_1724916247379_0.9784827922708819","host":"s3://npm-registry-packages"},"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":"module-legacy","version":"0.41.0","languages":"kotlin-swift"}},"0.2.2":{"name":"@beletsky/react-native-yandex-remote-config","version":"0.2.2","keywords":["react-native","ios","android"],"author":{"url":"https://github.com/YBeletsky117","name":"Yaroslav Beletsky","email":"yaroslav_beletsky@mail.ru"},"license":"MIT","_id":"@beletsky/react-native-yandex-remote-config@0.2.2","maintainers":[{"name":"yaroslav_beletsky","email":"yaroslav_beletsky@mail.ru"}],"homepage":"https://github.com/YBeletsky117/react-native-yandex-remote-config#readme","bugs":{"url":"https://github.com/YBeletsky117/react-native-yandex-remote-config/issues"},"dist":{"shasum":"ade9e4e4fafd0d5f6d5f294a69d3d9d200b862c3","tarball":"https://registry.npmjs.org/@beletsky/react-native-yandex-remote-config/-/react-native-yandex-remote-config-0.2.2.tgz","fileCount":80,"integrity":"sha512-5Q8w7CclQtbR5wlIJbOs/BLaTKq3k864IXMm1WHR8LKbGV18uiBNcC7zZ4ENcURjp1rItcXVcgMW3YsUNzs2og==","signatures":[{"sig":"MEUCIChgLA1t9dF8vNJWNfr5Lvr2ULBl0arYwSAJ6VKHPH+gAiEAxHHAbWStYqapDwfiP8UDc5PmP6kfRJVZ+VzKmKJhc7c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83238},"jest":{"preset":"react-native","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":"04af571643b783261c55d75cc00840159ea096bf","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 react-native-yandex-remote-config-example","prepare":"bob build","release":"release-it","typecheck":"tsc"},"_npmUser":{"name":"yaroslav_beletsky","email":"yaroslav_beletsky@mail.ru"},"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/YBeletsky117/react-native-yandex-remote-config.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.7.0","description":"Yandex Remote Config for React Native","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.14.0","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/"],"publishConfig":{"access":"public","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","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","commitlint":"^17.0.2","release-it":"^15.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.2","auto-changelog":"2.4.0","@evilmartians/lefthook":"^1.5.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-builder-bob":"^0.30.0","@react-native/eslint-config":"^0.73.1","@commitlint/config-conventional":"^17.0.2","@release-it/conventional-changelog":"^5.0.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-yandex-remote-config_0.2.2_1724916850581_0.5501588180509365","host":"s3://npm-registry-packages"},"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":"module-legacy","version":"0.41.0","languages":"kotlin-swift"}},"0.2.3":{"name":"@beletsky/react-native-yandex-remote-config","version":"0.2.3","keywords":["react-native","ios","android","remote","yandex","appmetrica","remote-config","yandex-remote-config","react-native-remote-config","appmetrica-remote-config"],"author":{"url":"https://github.com/YBeletsky117","name":"Yaroslav Beletsky","email":"yaroslav_beletsky@mail.ru"},"license":"MIT","_id":"@beletsky/react-native-yandex-remote-config@0.2.3","maintainers":[{"name":"yaroslav_beletsky","email":"yaroslav_beletsky@mail.ru"}],"homepage":"https://github.com/YBeletsky117/react-native-yandex-remote-config#readme","bugs":{"url":"https://github.com/YBeletsky117/react-native-yandex-remote-config/issues"},"dist":{"shasum":"5436864f2c132f670e92d9f2c1717b44a072c95c","tarball":"https://registry.npmjs.org/@beletsky/react-native-yandex-remote-config/-/react-native-yandex-remote-config-0.2.3.tgz","fileCount":80,"integrity":"sha512-V1KT6pyQQLX/1BwIQtINg+WC017KYKN6mqJa1hwGa9ODW2lC4/zm7TWkrtbb1URrCvz6/I8hKG+Nek5d6jkPiA==","signatures":[{"sig":"MEUCICg4CC7+VVA8/C1pBYkq68Vf3aTCRY5AifNtnvFM9Bg2AiEA4LuwwqVIZrCKxAPJZZnoz8MHeK4UAcCWna0bgyBJ82k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83399},"jest":{"preset":"react-native","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":"3689212bbce2727e4636204bdcbdf73123bae75f","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 react-native-yandex-remote-config-example","prepare":"bob build","release":"release-it","typecheck":"tsc"},"_npmUser":{"name":"yaroslav_beletsky","email":"yaroslav_beletsky@mail.ru"},"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/YBeletsky117/react-native-yandex-remote-config.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.7.0","description":"Yandex Remote Config for React Native","directories":{},"resolutions":{"@types/react":"^18.2.44"},"_nodeVersion":"20.14.0","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/"],"publishConfig":{"access":"public","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","eslint":"^8.51.0","del-cli":"^5.1.0","prettier":"^3.0.3","commitlint":"^17.0.2","release-it":"^15.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/react":"^18.2.44","react-native":"0.75.2","auto-changelog":"2.4.0","@evilmartians/lefthook":"^1.5.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","react-native-builder-bob":"^0.30.0","@react-native/eslint-config":"^0.73.1","@commitlint/config-conventional":"^17.0.2","@release-it/conventional-changelog":"^5.0.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-yandex-remote-config_0.2.3_1725003232418_0.9254095805244047","host":"s3://npm-registry-packages"},"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":"module-legacy","version":"0.41.0","languages":"kotlin-swift"}},"1.0.1":{"name":"@beletsky/react-native-yandex-remote-config","version":"1.0.1","description":"Yandex Remote Config for 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 react-native-yandex-remote-config-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","release":"release-it"},"keywords":["react-native","ios","android","remote","yandex","appmetrica","remote-config","yandex-remote-config","react-native-remote-config","appmetrica-remote-config"],"repository":{"type":"git","url":"git+https://github.com/YBeletsky117/react-native-yandex-remote-config.git"},"author":{"name":"Yaroslav Beletsky","email":"yaroslav_beletsky@mail.ru","url":"https://github.com/YBeletsky117"},"license":"MIT","bugs":{"url":"https://github.com/YBeletsky117/react-native-yandex-remote-config/issues"},"homepage":"https://github.com/YBeletsky117/react-native-yandex-remote-config#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"devDependencies":{"@commitlint/config-conventional":"^17.0.2","@evilmartians/lefthook":"^1.5.0","@react-native/eslint-config":"^0.73.1","@release-it/conventional-changelog":"^5.0.0","@types/jest":"^29.5.5","@types/react":"^18.2.44","auto-changelog":"2.4.0","commitlint":"^17.0.2","del-cli":"^5.1.0","eslint":"^8.51.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","jest":"^29.7.0","prettier":"^3.0.3","react":"18.3.1","react-native":"0.75.2","react-native-builder-bob":"^0.30.0","release-it":"^15.0.0","turbo":"^1.10.7","typescript":"^5.2.2"},"resolutions":{"@types/react":"^18.2.44"},"peerDependencies":{"react":"*","react-native":"*"},"workspaces":["example"],"packageManager":"yarn@3.6.1","jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"commitMessage":"chore: release ${version}","tagName":"v${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular"}}},"eslintConfig":{"root":true,"extends":["@react-native","prettier"],"rules":{"react/react-in-jsx-scope":"off","prettier/prettier":["error",{"quoteProps":"consistent","singleQuote":true,"tabWidth":2,"trailingComma":"es5","useTabs":false}]}},"eslintIgnore":["node_modules/","lib/"],"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","esm":true}]]},"create-react-native-library":{"type":"module-legacy","languages":"kotlin-swift","version":"0.41.0"},"codegenConfig":{"name":"RNYandexRemoteConfigSpecs","type":"modules","jsSrcsDir":"src","outputDir":{"ios":"ios/generated","android":"android/generated"},"android":{"javaPackageName":"com.beletsky.yandexremoteconfig"},"includesGeneratedCode":true},"_id":"@beletsky/react-native-yandex-remote-config@1.0.1","gitHead":"80a5e5a66811ddb6da4db55cce8df7b1760a7ce6","_nodeVersion":"20.14.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-csY+HROwmkBRGHhikoT88ZD9/33dMFr7A3d+wtJxxgGOJd0dzhK4tkC6uKqKl5A+NCqcwaXJi/Sn4HeZWbUjyA==","shasum":"b2237081cfe2a61766212a62ad9982a662e00989","tarball":"https://registry.npmjs.org/@beletsky/react-native-yandex-remote-config/-/react-native-yandex-remote-config-1.0.1.tgz","fileCount":87,"unpackedSize":85307,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIG/ljX8yD9y0FkRskSM+0cVP5bNuL4EveZC0YBw4bQ8gAiEAoEwvbPGhNCX5QyHOBuIJojBIPt5fqYVvMClIG/VytNo="}]},"_npmUser":{"name":"yaroslav_beletsky","email":"yaroslav_beletsky@mail.ru"},"directories":{},"maintainers":[{"name":"yaroslav_beletsky","email":"yaroslav_beletsky@mail.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-native-yandex-remote-config_1.0.1_1738582465323_0.9597599120395486"},"_hasShrinkwrap":false}},"time":{"created":"2024-08-29T06:45:17.348Z","modified":"2025-02-03T11:34:25.850Z","0.2.0":"2024-08-29T06:45:17.619Z","0.2.1":"2024-08-29T07:24:07.515Z","0.2.2":"2024-08-29T07:34:10.792Z","0.2.3":"2024-08-30T07:33:52.538Z","1.0.1":"2025-02-03T11:34:25.589Z"},"bugs":{"url":"https://github.com/YBeletsky117/react-native-yandex-remote-config/issues"},"author":{"name":"Yaroslav Beletsky","email":"yaroslav_beletsky@mail.ru","url":"https://github.com/YBeletsky117"},"license":"MIT","homepage":"https://github.com/YBeletsky117/react-native-yandex-remote-config#readme","keywords":["react-native","ios","android","remote","yandex","appmetrica","remote-config","yandex-remote-config","react-native-remote-config","appmetrica-remote-config"],"repository":{"type":"git","url":"git+https://github.com/YBeletsky117/react-native-yandex-remote-config.git"},"description":"Yandex Remote Config for React Native","maintainers":[{"name":"yaroslav_beletsky","email":"yaroslav_beletsky@mail.ru"}],"readme":"# Yandex Remote Config for React Native\n\n## 🚨 ВНИМАНИЕ! Версия 1.x.x. и выше работает только с новой архитектурой React Native TurboModules.\n\nЕсли вы не готовы переходить на новую архитектуру, то просим оставаться на версии ниже 1.x.x (API не изменился)\n\nБиблиотека, предназначенная для использования Feature Toggles (переключателей функций) в приложениях React Native. Библиотека предоставляет простой интерфейс для управления удалёнными конфигурациями и переключателями функций, позволяя динамически контролировать функции в вашем приложении.\n\n## **Установка**\n\n```bash\nnpm install @beletsky/react-native-yandex-remote-config\n```\nили\n```bash\nyarn add @beletsky/react-native-yandex-remote-config\n```\n\n### Для IOS\n\nПеред использованием библиотеки на IOS устройствах, необходимо выполнить установку `pod`\n\n```bash\npod install\n```\n\n## **API**\n\n### `withRemoteConfig({ flag, flagType, condition, defaultValue, defaultCondition }, WrappedComponent)`\n\nКомпонент высшего порядка (HOC), который оборачивает переданный компонент и отображает его только в том случае, если условие, основанное на значении удалённого флага, выполняется. Этот HOC полезен, когда нужно контролировать видимость компонента на основе удалённых флагов конфигурации.\n\n**Параметры**:\n- `flag`: Имя флага, который будет проверяться в удалённой конфигурации.\n- `flagType`: Тип флага, который ожидается (например, `FlagType.bool`).\n- `condition`: Условие, по которому определяется, будет ли компонент отображён. По умолчанию, проверяет значение на `true`.\n- `defaultValue`: Значение по умолчанию для флага, если его нет в конфигурации.\n- `defaultCondition`: Условие по умолчанию для отображения компонента до загрузки значения флага (по умолчанию `false`).\n- `WrappedComponent`: Компонент, который будет обёрнут и отображён в случае выполнения условия.\n\n**Возвращает**:\n- Компонент, который будет отображаться только при выполнении условия.\n\n**Пример**:\n```tsx\nimport React from 'react';\nimport { Text } from 'react-native';\nimport { withRemoteConfig, FlagType } from '@beletsky/react-native-yandex-remote-config';\n\nconst MyComponent = ({ updateFlag }) => {\n  return <Text>Функция активирована!</Text>;\n};\n\nconst MyComponentWithToggle = withRemoteConfig(\n  {\n    flag: 'feature_enabled',\n    flagType: FlagType.bool,\n    condition: (value) => value === true,\n    defaultCondition: false,\n  },\n  MyComponent\n);\n\nexport default MyComponentWithToggle;\n```\nВ этом примере MyComponentWithToggle будет отображаться только в том случае, если флаг `feature_enabled` возвращает значение true из удалённой конфигурации. Функция `updateFlag()` будет передана в обёрнутый компонент, что позволяет принудительно обновить значение флага при необходимости.\n\n### `wrapRemoteConfig({ flag, flagType, condition, callback, defaultValue })`\n\nФункция-обёртка, которая позволяет обернуть любую функцию в логику Feature Toggle. Эта функция вызовет переданный колбэк только в том случае, если заданное условие (`condition`) выполнено. Это полезно для выполнения определённых действий, если определённая функция включена в конфигурации.\n\n**Параметры**:\n- `flag`: Имя флага, который будет проверяться в удалённой конфигурации.\n- `flagType`: Тип флага, который ожидается (например, `FlagType.bool`).\n- `condition`: Условие, по которому будет определяться, нужно ли выполнять функцию. По умолчанию, проверяет значение на `true`.\n- `callback`: Функция, которая будет вызвана, если условие выполнено. Функция должна принимать значение флага и возвращать другую функцию, которая будет вызвана с переданными аргументами.\n- `defaultValue`: Значение по умолчанию для флага, если его нет в конфигурации.\n\n**Возвращает**:\n- Функция, которая возвращает промис, выполняющий переданный `callback`, если условие выполнено, или ничего не делает, если не выполнено.\n\n**Пример**:\n```tsx\nconst execAlert = (flagValue: boolean) => (text: string) => {\n    Alert.alert('Feature Toggle alert', `${text}: ${flagValue}`);\n    return '';\n};\n\nconst scheduledAlert = wrapRemoteConfig({\n    flag: 'test-bool',\n    flagType: FlagType.bool,\n    callback: execAlert,\n    condition: (value) => {\n        return !!value;\n    },\n});\n\n// Использование:\nscheduledAlert('Some text');\n```\nЭта функция полезна, когда вы хотите контролировать выполнение кода в зависимости от значений, загруженных из удалённой конфигурации.\n\n### `useRemoteConfig(flag, flagType, defaultValue)`\n\nПользовательский хук, который используется для получения значения флага из удалённой конфигурации. Он позволяет вам загружать и отслеживать значения флагов в вашем приложении и предоставляет возможность принудительно обновить значение флага.\n\n**Параметры**:\n- `flag`: Имя флага, который нужно загрузить.\n- `flagType`: Тип флага, который ожидается (например, `FlagType.bool`).\n- `defaultValue`: Значение по умолчанию, если флаг не найден или его значение не задано.\n\n**Возвращает**:\n- `[state, fetchFlag, isLoading]`: Массив, содержащий три элемента:\n  - `state`: Текущее значение флага или значение по умолчанию, если флаг не найден.\n  - `fetchFlag`: Функция, которая позволяет вручную перезагрузить значение флага из удалённой конфигурации.\n  - `isLoading`: Булевое значение, указывающее, загружается ли в данный момент значение флага.\n\n**Пример**:\n```tsx\nconst [featureEnabled, reloadFeature, isLoading] = useRemoteConfig('new_feature', FlagType.bool, false);\n\nif (isLoading) {\n  // Отображаем индикатор загрузки\n}\n\nif (featureEnabled) {\n  // Выполняем действие, если функция включена\n}\n\n// Для принудительного обновления значения флага:\nreloadFeature();\n```\nЭтот хук полезен для динамической загрузки и использования значений флагов конфигурации в компонентах вашего приложения, а также для отслеживания состояния загрузки этих значений.\n\n## Типы\n\n### `Settings`\n\nТип `Settings` представляет настройки для конфигурации удалённого клиента. Он включает в себя различные параметры, такие как базовый URL, сетевые настройки и очереди.\n\n**Структура:**\n```ts\ntype Settings = {\n  baseURL?: string;\n  settings?: any;\n  network?: any;\n  fetchThrottle?: number;\n  clientFeatures?: Record<string, string>;\n  varioqubQueue?: any;\n  outputQueue?: any;\n};\n```\n\n**Параметры**:\n- `baseURL`: Базовый URL для запросов.\n- `settings`: Дополнительные настройки клиента.\n- `network`: Настройки сети.\n- `fetchThrottle`: Интервал времени (в миллисекундах) между запросами к удалённой конфигурации.\n- `clientFeatures`: Объект, представляющий функции клиента в формате ключ-значение.\n- `varioqubQueue`: Очередь для обработки задач.\n- `outputQueue`: Очередь для вывода данных.\n\n### `FlagType`\n\nEnum `FlagType` представляет возможные типы флагов, которые могут быть использованы в удалённой конфигурации.\n\n**Структура:**\n```ts\nenum FlagType {\n  string = 'string',\n  int = 'int',\n  double = 'double',\n  bool = 'bool',\n}\n```\n\n**Значения**:\n- `baseURL`: Базовый URL для запросов.\n- `string`: Строковый тип флага.\n- `int`: Целочисленный тип флага.\n- `double`: Числовой тип флага с плавающей точкой.\n- `bool`: Логический тип флага.\n\n### `ValueType<T extends FlagType>`\n\nТип `ValueType` используется для определения возможного значения флага в зависимости от его типа. Это условный тип, который определяет, какое значение может принимать флаг в зависимости от его типа `FlagType`.\n\n**Структура:**\n```ts\ntype ValueType<T extends FlagType> = T extends FlagType.string\n  ? string\n  : T extends FlagType.bool\n    ? boolean\n    : number;\n```\n\n**Описание**:\n- Если тип флага `string`, то значение будет строкой.\n- Если тип флага `bool`, то значение будет логическим (`boolean`).\n- В остальных случаях значение будет числовым (`number`).\n\n### `FCFT<P>`\n\nИнтерфейс `FCFT` описывает функциональный компонент с дополнительным свойством `updateFlag()`, который передаётся обёрнутому компоненту с использованием `withRemoteConfig()`.\n\n**Структура:**\n```ts\ninterface FCFT<P> {\n  (\n    props: PropsWithChildren<\n      P & {\n      updateFlag: () => void;\n    }\n    >,\n    context?: any\n  ): ReactElement<any, any> | null;\n\n  propTypes?: WeakValidationMap<P> | undefined;\n  contextTypes?: ValidationMap<any> | undefined;\n  defaultProps?: Partial<P> | undefined;\n  displayName?: string | undefined;\n}\n```\n\n**Описание**:\n- `props`: Свойства компонента, которые включают в себя все свойства, передаваемые в компонент, а также функцию updateFlag.\n- `context`: Опциональный контекст для компонента.\n- `propTypes`: Опциональные типы проверок свойств компонента.\n- `contextTypes`: Опциональные типы проверок контекста.\n- `defaultProps`: Опциональные свойства по умолчанию для компонента.\n- `displayName`: Опциональное отображаемое имя компонента.\n\nЭтот интерфейс полезен для определения компонентов, которые будут использоваться с HOC `withRemoteConfig()` и которым потребуется функция обновления значения флага.\n","readmeFilename":"README.md"}