@amazon-devices/kepler-media-account-login 1.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ export * from './turbo-modules/AccountLoginServerComponent';
2
+ export * from './turbo-modules/AccountLogin';
package/dist/index.js ADDED
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /*
18
+ * Copyright (c) 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
19
+ *
20
+ * PROPRIETARY/CONFIDENTIAL
21
+ * Use is subject to license terms.
22
+ */
23
+ __exportStar(require("./turbo-modules/AccountLoginServerComponent"), exports);
24
+ __exportStar(require("./turbo-modules/AccountLogin"), exports);
@@ -0,0 +1 @@
1
+ {"schema":1,"fileSets":{"native":[{"arch":"aarch64","variant":"release","directoryPath":"aarch64-release"},{"arch":"armv7","variant":"release","directoryPath":"armv7-release"},{"arch":"x86_64","variant":"release","directoryPath":"x86_64-release"},{"arch":"aarch64","variant":"debug","directoryPath":"aarch64-debug"},{"arch":"armv7","variant":"debug","directoryPath":"armv7-debug"},{"arch":"x86_64","variant":"debug","directoryPath":"x86_64-debug"}]}}
@@ -0,0 +1,104 @@
1
+ import { IComponentInstance } from "@amazon-devices/react-native-kepler";
2
+ /**
3
+ * Error class for invalid argument exception.
4
+ */
5
+ export declare class InvalidArgumentError extends Error {
6
+ /**
7
+ * Creates an instance of `InvalidArgumentError`.
8
+ * @param {string} msg - The error message.
9
+ */
10
+ constructor(msg: string);
11
+ }
12
+ /**
13
+ * Error class for internal errors, such as setup failures.
14
+ * For example, when you setup `AccountLoginServer`.
15
+ */
16
+ export declare class InternalError extends Error {
17
+ /**
18
+ * Creates an instance of `InternalError`.
19
+ * @param {string} msg - The error message.
20
+ */
21
+ constructor(msg: string);
22
+ }
23
+ /**
24
+ * Interface for handling `AccountLogin` callbacks asynchronously.
25
+ */
26
+ export interface IAccountLoginHandlerAsync {
27
+ /**
28
+ * Asynchronously handles the read status operation.
29
+ *
30
+ * @returns {Promise<IStatus>} A promise that resolves to the user account login status.
31
+ */
32
+ handleReadStatus(): Promise<IStatus>;
33
+ }
34
+ /**
35
+ * Interface representing the login status.
36
+ */
37
+ export interface IStatus {
38
+ /**
39
+ * Gets the user login status.
40
+ *
41
+ * @returns {StatusType} The current status type.
42
+ */
43
+ getStatus(): StatusType;
44
+ /**
45
+ * Get optional app-specific data.
46
+ *
47
+ * @returns {string} Additional data as a string. Returns an empty string if no data is provided.
48
+ */
49
+ getAdditionalData(): string;
50
+ }
51
+ /**
52
+ * Interface for building Status objects.
53
+ */
54
+ export interface IStatusBuilder {
55
+ /**
56
+ * Adds a StatusType to the builder (Required).
57
+ * @param {StatusType} statusType - The status type to add.
58
+ * @returns {IStatusBuilder} The builder instance.
59
+ */
60
+ status(statusType: StatusType): IStatusBuilder;
61
+ /**
62
+ * Adds additional data to the builder (Optional).
63
+ * @param {string} additionalData - The additional data to add (limited to 64KB).
64
+ * @returns {IStatusBuilder} The builder instance for method chaining.
65
+ * @throws {InvalidArgumentError} If additionalData exceeds 64KB.
66
+ */
67
+ additionalData(additionalData: string): IStatusBuilder;
68
+ /**
69
+ * Builds and returns an IStatus object if all required fields are provided.
70
+ *
71
+ * @returns {IStatus} The constructed IStatus object.
72
+ */
73
+ build(): IStatus;
74
+ }
75
+ /**
76
+ * Enumeration representing possible login status types.
77
+ */
78
+ export declare enum StatusType {
79
+ /** User is signed in. */
80
+ SIGNED_IN = 0,
81
+ /** User is signed out. */
82
+ SIGNED_OUT = 1
83
+ }
84
+ /**
85
+ * Interface for the asynchronous AccountLoginServer.
86
+ */
87
+ export interface IAccountLoginServerAsync {
88
+ /**
89
+ * Updates the user login status.
90
+ * @param {IStatus} status - The new login status.
91
+ */
92
+ updateStatus(status: IStatus): void;
93
+ /**
94
+ * Sets the handler to receive callbacks for Account Login.
95
+ * @param {IAccountLoginHandlerAsync} handler - The Account Login Handler to set.
96
+ */
97
+ setHandler(handler: IAccountLoginHandlerAsync): void;
98
+ /**
99
+ * Sets the handler to receive callbacks for Account Login for a specific component.
100
+ * @param {IAccountLoginHandlerAsync} handler - The Account Login Handler to set.
101
+ * @param {IComponentInstance} instance - The component instance for which the handler is to be set.
102
+ */
103
+ setHandlerForComponent(handler: IAccountLoginHandlerAsync, instance: IComponentInstance): void;
104
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.StatusType = exports.InternalError = exports.InvalidArgumentError = void 0;
7
+ /*
8
+ * Copyright (c) 2023-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
9
+ *
10
+ * PROPRIETARY/CONFIDENTIAL
11
+ * Use is subject to license terms.
12
+ */
13
+ const KeplerScriptAccountLogin_1 = __importDefault(require("./KeplerScriptAccountLogin"));
14
+ if (!KeplerScriptAccountLogin_1.default) {
15
+ throw new Error('KeplerScriptAccountLogin is null.');
16
+ }
17
+ /**
18
+ * Error class for invalid argument exception.
19
+ */
20
+ class InvalidArgumentError extends Error {
21
+ /**
22
+ * Creates an instance of `InvalidArgumentError`.
23
+ * @param {string} msg - The error message.
24
+ */
25
+ constructor(msg) {
26
+ super(msg);
27
+ Object.setPrototypeOf(this, InvalidArgumentError.prototype);
28
+ }
29
+ }
30
+ exports.InvalidArgumentError = InvalidArgumentError;
31
+ /**
32
+ * Error class for internal errors, such as setup failures.
33
+ * For example, when you setup `AccountLoginServer`.
34
+ */
35
+ class InternalError extends Error {
36
+ /**
37
+ * Creates an instance of `InternalError`.
38
+ * @param {string} msg - The error message.
39
+ */
40
+ constructor(msg) {
41
+ super(msg);
42
+ Object.setPrototypeOf(this, InternalError.prototype);
43
+ }
44
+ }
45
+ exports.InternalError = InternalError;
46
+ /**
47
+ * Enumeration representing possible login status types.
48
+ */
49
+ var StatusType;
50
+ (function (StatusType) {
51
+ /** User is signed in. */
52
+ StatusType[StatusType["SIGNED_IN"] = 0] = "SIGNED_IN";
53
+ /** User is signed out. */
54
+ StatusType[StatusType["SIGNED_OUT"] = 1] = "SIGNED_OUT";
55
+ })(StatusType = exports.StatusType || (exports.StatusType = {}));
@@ -0,0 +1,19 @@
1
+ import { IAccountLoginServerAsync, IStatusBuilder } from './AccountLogin';
2
+ /**
3
+ * Provides factory methods for creating `IAccountLoginServerAsync` and `IStatusBuilder` instances .
4
+ */
5
+ export declare class AccountLoginServerComponent {
6
+ private static server;
7
+ /**
8
+ * Gets or creates the singleton `IAccountLoginServerAsync` instance.
9
+ *
10
+ * @returns {IAccountLoginServerAsync} The `AccountLoginServer` instance.
11
+ * @throws {InternalError} When setup of the native account login server fails.
12
+ */
13
+ getOrMakeServer(): IAccountLoginServerAsync;
14
+ /**
15
+ * Make builder to build a {@link IStatus}
16
+ */
17
+ makeStatusBuilder(): IStatusBuilder;
18
+ }
19
+ export default AccountLoginServerComponent;
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2023-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * PROPRIETARY/CONFIDENTIAL
6
+ * Use is subject to license terms.
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AccountLoginServerComponent = void 0;
13
+ const KeplerScriptAccountLogin_1 = __importDefault(require("./KeplerScriptAccountLogin"));
14
+ const AccountLogin_1 = require("./AccountLogin");
15
+ // Error codes
16
+ const INTERNAL_ERROR = 1;
17
+ function throwErrorIfNecessary(obj, errorMessage) {
18
+ if (obj.isSuccess) {
19
+ return;
20
+ }
21
+ let message = errorMessage + ', error=' + obj.errorMessage;
22
+ if (obj.errorCode === INTERNAL_ERROR) {
23
+ throw new AccountLogin_1.InternalError(message);
24
+ }
25
+ else {
26
+ // Throw internal error if none of error codes match
27
+ throw new AccountLogin_1.InternalError(message);
28
+ }
29
+ }
30
+ /**
31
+ * Provides factory methods for creating `IAccountLoginServerAsync` and `IStatusBuilder` instances .
32
+ */
33
+ class AccountLoginServerComponent {
34
+ static server;
35
+ /**
36
+ * Gets or creates the singleton `IAccountLoginServerAsync` instance.
37
+ *
38
+ * @returns {IAccountLoginServerAsync} The `AccountLoginServer` instance.
39
+ * @throws {InternalError} When setup of the native account login server fails.
40
+ */
41
+ getOrMakeServer() {
42
+ if (!AccountLoginServerComponent.server) {
43
+ AccountLoginServerComponent.server = new AccountLoginServer();
44
+ KeplerScriptAccountLogin_1.default.setupAccountLoginServer().then(obj => {
45
+ throwErrorIfNecessary(obj, 'AccountLoginServerComponent::getOrMakeServer failed to setup native account login server');
46
+ });
47
+ }
48
+ return AccountLoginServerComponent.server;
49
+ }
50
+ /**
51
+ * Make builder to build a {@link IStatus}
52
+ */
53
+ makeStatusBuilder() {
54
+ return new StatusBuilder();
55
+ }
56
+ }
57
+ exports.AccountLoginServerComponent = AccountLoginServerComponent;
58
+ exports.default = AccountLoginServerComponent;
59
+ /**
60
+ * Creates a new `IStatusBuilder` instance.
61
+ *
62
+ * @returns {IStatusBuilder} A new `StatusBuilder` instance.
63
+ */
64
+ class AccountLoginServer {
65
+ m_handler;
66
+ isNativeHandlerSetup = false;
67
+ constructor() { }
68
+ async updateStatus(status) {
69
+ console.log('AccountLoginServer::updateStatus invoked. status: ', status.getStatus());
70
+ await KeplerScriptAccountLogin_1.default.updateStatus(status.getStatus(), status.getAdditionalData()).then(obj => {
71
+ throwErrorIfNecessary(obj, 'AccountLoginServer::updateStatus failed to update status');
72
+ });
73
+ }
74
+ /**
75
+ * Set the handler.
76
+ */
77
+ setHandler(handler) {
78
+ console.log('AccountLoginServer::setHandler invoked.');
79
+ this.m_handler = handler;
80
+ if (!this.isNativeHandlerSetup && handler) {
81
+ const realHandler = () => {
82
+ console.log('AccountLoginServer::realHandler invoked.');
83
+ this.m_handler?.handleReadStatus().then((status) => {
84
+ KeplerScriptAccountLogin_1.default.onReadStatusResponse(status.getStatus(), status.getAdditionalData());
85
+ }); // Let the exception go back to caller
86
+ };
87
+ KeplerScriptAccountLogin_1.default.setReadStatusHandler(realHandler).then(obj => {
88
+ throwErrorIfNecessary(obj, 'AccountLoginServer::setHandler failed');
89
+ });
90
+ this.isNativeHandlerSetup = true;
91
+ }
92
+ }
93
+ /**
94
+ * Set the handler for a given component.
95
+ */
96
+ setHandlerForComponent(handler, instance) {
97
+ console.log('AccountLoginServer::setHandlerForComponent invoked.');
98
+ this.m_handler = handler;
99
+ if (!this.isNativeHandlerSetup && handler !== null && handler !== undefined) {
100
+ const realHandler = () => {
101
+ console.log('AccountLoginServer::realHandler invoked.');
102
+ this.m_handler?.handleReadStatus().then((status) => {
103
+ KeplerScriptAccountLogin_1.default.onReadStatusResponse(status.getStatus(), status.getAdditionalData());
104
+ }); // Let the exception go back to caller
105
+ };
106
+ if (instance === undefined || instance === null) {
107
+ throw new AccountLogin_1.InvalidArgumentError('Instance is not set');
108
+ }
109
+ KeplerScriptAccountLogin_1.default.setHandlerForComponent(realHandler, instance).then(obj => {
110
+ throwErrorIfNecessary(obj, 'AccountLoginServer::setHandlerForComponent failed');
111
+ });
112
+ this.isNativeHandlerSetup = true;
113
+ }
114
+ }
115
+ }
116
+ class Status {
117
+ constructor(loginStatus, additionalData) {
118
+ this.loginStatus = loginStatus;
119
+ this.data = additionalData ? additionalData : '';
120
+ }
121
+ loginStatus;
122
+ data;
123
+ /// Account Login Status
124
+ getStatus() {
125
+ return this.loginStatus;
126
+ }
127
+ /// User-specific data
128
+ getAdditionalData() {
129
+ return this.data;
130
+ }
131
+ }
132
+ const ADDITIONAL_DATA_LIMIT = 64 * 1024;
133
+ class StatusBuilder {
134
+ constructor() { }
135
+ loginStatus = null;
136
+ data = null;
137
+ /**
138
+ * @brief Add StatusType to builder.
139
+ *
140
+ * @param StatusType to add.
141
+ */
142
+ status(statusType) {
143
+ this.loginStatus = statusType;
144
+ return this;
145
+ }
146
+ /**
147
+ * @brief Add value for the additional Data to builder.
148
+ *
149
+ * @details additionalData size is limited to 64k. build() method would throw
150
+ * `InvalidArgumentError` if additionalData size is more than 64k.
151
+ *
152
+ * @param additional Data to add.
153
+ */
154
+ additionalData(additionalData) {
155
+ this.data = additionalData;
156
+ return this;
157
+ }
158
+ /**
159
+ * @brief Build IStatus.
160
+ *
161
+ * @details Constructs IStatus if all required fields are provided.
162
+ *
163
+ * @return Returns IStatus if built successfully.
164
+ */
165
+ build() {
166
+ if (this.loginStatus == null) {
167
+ throw new AccountLogin_1.InvalidArgumentError('Status is not set');
168
+ }
169
+ if (this.data != null && this.data.length > ADDITIONAL_DATA_LIMIT) {
170
+ throw new AccountLogin_1.InvalidArgumentError('Data is too large');
171
+ }
172
+ return new Status(this.loginStatus, this.data);
173
+ }
174
+ }
@@ -0,0 +1,61 @@
1
+ import type { KeplerTurboModule } from '@amazon-devices/keplerscript-turbomodule-api';
2
+ /**
3
+ * Facilitates updating an application's login status.
4
+ */
5
+ export interface KeplerScriptAccountLogin extends KeplerTurboModule {
6
+ /**
7
+ * Sets up the native AccountLoginServer.
8
+ *
9
+ * @returns {Promise<Object>} A promise that resolves with the setup result.
10
+ */
11
+ setupAccountLoginServer: () => Promise<Object>;
12
+ /**
13
+ * Update Login Status.
14
+ *
15
+ * @param {number} loginStatus - Specifies the login status. When set to 1, indicates logged in; when set to 0, indicates logged out.
16
+ * @param {string} additionalData - Specifies additional data to include with the status update.
17
+ * @returns {Promise<Object>} A promise that resolves with the update result.
18
+ */
19
+ updateStatus: (loginStatus: number, additionalData: string) => Promise<Object>;
20
+ /**
21
+ * Registers a function to execute when a read status is requested.
22
+ *
23
+ * @param {() => void} handler - Specifies the handler to be invoked on login status reads.
24
+ * @returns {Promise<Object>} A promise that resolves with the registration result.
25
+ */
26
+ setReadStatusHandler: (handler: () => void) => Promise<Object>;
27
+ /**
28
+ * @param {() => void} handler - Specifies the handler to be invoked on login status reads.
29
+ * @param {Object} componentInstance - Specifies the component instance to register to.
30
+ * @returns {Promise<Object>} A promise that resolves with the registration result.
31
+ */
32
+ setHandlerForComponent: (handler: () => void, componentInstance: Object) => Promise<Object>;
33
+ /**
34
+ * Sends the read login state callback.
35
+ *
36
+ * @param {number} loginStatus - Specifies the user's login status.
37
+ * @param {string} additionalData - Specifies optional app-specific additional data.
38
+ * @returns {Promise<Object>} A promise that resolves with the callback result.
39
+ */
40
+ onReadStatusResponse: (loginStatus: number, additionalData: string) => Promise<Object>;
41
+ /**
42
+ * Gets the major version number.
43
+ *
44
+ * @returns {number} The major version number.
45
+ */
46
+ getMajorVersion: () => number;
47
+ /**
48
+ * Gets the minor version number.
49
+ *
50
+ * @returns {number} The minor version number.
51
+ */
52
+ getMinorVersion: () => number;
53
+ /**
54
+ * Gets the patch version number.
55
+ *
56
+ * @returns {number} The patch version number.
57
+ */
58
+ getPatchVersion: () => number;
59
+ }
60
+ declare const _default: KeplerScriptAccountLogin;
61
+ export default _default;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const keplerscript_turbomodule_api_1 = require("@amazon-devices/keplerscript-turbomodule-api");
4
+ exports.default = keplerscript_turbomodule_api_1.TurboModuleRegistry.getEnforcing('KeplerMediaAccountLogin');
@@ -0,0 +1,7 @@
1
+ declare const _default: {
2
+ getMajorVersion: () => number;
3
+ getMinorVersion: () => number;
4
+ getPatchVersion: () => number;
5
+ updateStatus: (_loginStatus: boolean) => Promise<void>;
6
+ };
7
+ export default _default;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /*
4
+ * Copyright (c) 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
+ *
6
+ * PROPRIETARY/CONFIDENTIAL
7
+ * Use is subject to license terms.
8
+ */
9
+ exports.default = {
10
+ getMajorVersion: () => 1,
11
+ getMinorVersion: () => 0,
12
+ getPatchVersion: () => 0,
13
+ updateStatus: (_loginStatus) => Promise.resolve(),
14
+ };
@@ -0,0 +1,11 @@
1
+ {
2
+ "versions": {
3
+ "1.1.6": "/com.amazon.kepler.kepler_media_account_login_1@IKeplerMediaAccountLogin_1",
4
+ "1.1.7": "/com.amazon.kepler.kepler_media_account_login_1@IKeplerMediaAccountLogin_1",
5
+ "1.1.8": "/com.amazon.kepler.kepler_media_account_login_1@IKeplerMediaAccountLogin_1",
6
+ "1.1.9": "/com.amazon.kepler.kepler_media_account_login_1@IKeplerMediaAccountLogin_1",
7
+ "1.1.10": "/com.amazon.kepler.kepler_media_account_login_1@IKeplerMediaAccountLogin_1",
8
+ "1.1.11": "/com.amazon.kepler.kepler_media_account_login_1@IKeplerMediaAccountLogin_1",
9
+ "1.1.12": "/com.amazon.kepler.kepler_media_account_login_1@IKeplerMediaAccountLogin_1"
10
+ }
11
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "sourcePackageRef": "@amzn/kepler-media-account-login"
3
+ }
package/package.json ADDED
@@ -0,0 +1 @@
1
+ {"name": "@amazon-devices/kepler-media-account-login", "version": "1.1.12", "main": "dist/index.js", "types": "dist/index.d.ts", "files": ["dist", "react-native.config.js", "kepler-compatibility.json", "SystemModules", "SystemBundles", "THIRD_PARTY_NOTICES.txt", "kepler-transformed-package-info.json"], "scripts": {"clean": "rm -rf bundle kepler-build assets dist package-lock.json node_modules build/* build", "start": "node node_modules/react-native/local-cli/cli.js start", "lint": "eslint src --ext .ts,.tsx", "docgen": "npx typedoc --basePath src/ -entryPointStrategy expand --excludePrivate --excludeProtected --excludeInternal --excludeNotDocumented --disableSources --hideGenerator src/ --out build/docs", "lint-fix": "eslint src --ext .ts,.tsx --fix && eslint --ext .ts,.tsx --fix", "compile": "tsc -p tsconfig-build.json", "release": "npm run docgen", "build": "npm-run-all compile docgen", "prepublishOnly": "KEPLER_NPM_COMMAND=npm-pretty-much react-native build-system-bundle-kepler"}, "dependencies": {"@amazon-devices/react-native-kepler": "^2.0.0", "react": "18.2.0", "react-native": "0.72.0", "@amazon-devices/keplerscript-turbomodule-api": "^1.0.0"}, "devDependencies": {"@react-native/eslint-config": "0.72.2", "@react-native/metro-config": "^0.72.6", "@react-native-community/cli": "^11.2.0", "@types/jest": "^28.0.0", "@types/react": "^18.0.24", "@typescript-eslint/eslint-plugin": "^5.30.0", "babel-jest": "^28.0.0", "eslint": "^8.12.0", "jest": "^28.0.0", "metro-react-native-babel-preset": "^0.76.5", "npm-run-all": "^4.1.5", "prettier": "^2.6.2", "react-test-renderer": "18.2.0", "ts-jest": "^28.0.0", "typescript": "4.8.4", "typedoc": "^0.26.0", "@amazon-devices/kepler-cli-platform": "^0"}, "kepler": {"projectType": "turbomodule", "targets": ["tv", "ref_8295"], "features": ["vega"], "toolchain": "clang", "api": 0.1, "keplerInitializationSharedLibrary": "KeplerMediaAccountLogin"}, "npm-pretty-much": {"runRelease": "always"}, "prettier": {"arrowParens": "avoid", "bracketSameLine": true, "bracketSpacing": false, "singleQuote": true, "trailingComma": "all"}, "license": "See license in LICENSE"}
@@ -0,0 +1,20 @@
1
+
2
+ module.exports = {
3
+ dependency: {
4
+ platforms: {
5
+ kepler: {
6
+ autolink: {
7
+ "KeplerMediaAccountLogin": {
8
+ "libraryName": "libkeplerscript-kepler-media-account-login-lib-1.so.1",
9
+ "linkDynamic": true,
10
+ "provider": "system",
11
+ "components": [],
12
+ "turbomodules": [
13
+ "KeplerMediaAccountLogin"
14
+ ]
15
+ }
16
+ }
17
+ },
18
+ },
19
+ },
20
+ };