@liquidcommercedev/rmn-sdk 1.4.1 → 1.4.2-beta.2

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.
Files changed (72) hide show
  1. package/dist/index.cjs +17144 -0
  2. package/dist/index.esm.js +17140 -0
  3. package/dist/types/common/helpers/helpers.interface.d.ts +14 -0
  4. package/dist/types/common/helpers/index.d.ts +2 -0
  5. package/dist/types/common/helpers/object.helper.d.ts +95 -0
  6. package/dist/types/common/helpers/string.helper.d.ts +39 -0
  7. package/dist/types/common/http/api.constant.d.ts +7 -0
  8. package/dist/types/common/http/api.interface.d.ts +39 -0
  9. package/dist/types/common/http/base.api.d.ts +80 -0
  10. package/dist/types/common/http/encrypted.api.d.ts +66 -0
  11. package/dist/types/common/http/error.api.d.ts +5 -0
  12. package/dist/types/common/http/index.d.ts +5 -0
  13. package/dist/types/common/singleton-manager/index.d.ts +1 -0
  14. package/dist/types/common/singleton-manager/singleton-manager.d.ts +12 -0
  15. package/dist/types/enums.d.ts +7 -0
  16. package/dist/types/index.d.ts +3 -0
  17. package/dist/types/index.umd.d.ts +2 -0
  18. package/dist/types/modules/auth/auth.constant.d.ts +1 -0
  19. package/dist/types/modules/auth/auth.interface.d.ts +27 -0
  20. package/dist/types/modules/auth/auth.service.d.ts +22 -0
  21. package/dist/types/modules/auth/index.d.ts +3 -0
  22. package/dist/types/modules/spot/html/index.d.ts +1 -0
  23. package/dist/types/modules/spot/html/spot.element.service.d.ts +7 -0
  24. package/dist/types/modules/spot/html/spot.element.shadow-root.d.ts +4 -0
  25. package/dist/types/modules/spot/html/templates/iab/billboard/billboard-v1.template.d.ts +2 -0
  26. package/dist/types/modules/spot/html/templates/iab/billboard/billboard-v2.template.d.ts +2 -0
  27. package/dist/types/modules/spot/html/templates/iab/billboard/billboard-v3.template.d.ts +2 -0
  28. package/dist/types/modules/spot/html/templates/iab/billboard/index.d.ts +3 -0
  29. package/dist/types/modules/spot/html/templates/iab/constants/fonts.constant.d.ts +3 -0
  30. package/dist/types/modules/spot/html/templates/iab/in-text/in-text-v1.template.d.ts +2 -0
  31. package/dist/types/modules/spot/html/templates/iab/in-text/index.d.ts +1 -0
  32. package/dist/types/modules/spot/html/templates/iab/index.d.ts +7 -0
  33. package/dist/types/modules/spot/html/templates/iab/large-leaderboard/index.d.ts +2 -0
  34. package/dist/types/modules/spot/html/templates/iab/large-leaderboard/large-leaderboard-v1.template.d.ts +2 -0
  35. package/dist/types/modules/spot/html/templates/iab/large-leaderboard/large-leaderboard-v2.template.d.ts +2 -0
  36. package/dist/types/modules/spot/html/templates/iab/large-rectangle/index.d.ts +1 -0
  37. package/dist/types/modules/spot/html/templates/iab/large-rectangle/large-rectangle-v1.template.d.ts +2 -0
  38. package/dist/types/modules/spot/html/templates/iab/square/index.d.ts +2 -0
  39. package/dist/types/modules/spot/html/templates/iab/square/square-v1.template.d.ts +2 -0
  40. package/dist/types/modules/spot/html/templates/iab/square/square-v2.template.d.ts +2 -0
  41. package/dist/types/modules/spot/html/templates/iab/vertical-rectangle/index.d.ts +1 -0
  42. package/dist/types/modules/spot/html/templates/iab/vertical-rectangle/vertical-rectangle-v1.template.d.ts +2 -0
  43. package/dist/types/modules/spot/html/templates/iab/wide-skyscraper/index.d.ts +1 -0
  44. package/dist/types/modules/spot/html/templates/iab/wide-skyscraper/wide-skyscraper-v1.template.d.ts +2 -0
  45. package/dist/types/modules/spot/html/templates/index.d.ts +1 -0
  46. package/dist/types/modules/spot/html/templates/reservebar/collection-banner-without-text-block.template.d.ts +2 -0
  47. package/dist/types/modules/spot/html/templates/reservebar/homepage-hero-full-image.template.d.ts +2 -0
  48. package/dist/types/modules/spot/html/templates/reservebar/homepage-hero-three-tile.template.d.ts +2 -0
  49. package/dist/types/modules/spot/html/templates/reservebar/homepage-hero-two-tile.template.d.ts +2 -0
  50. package/dist/types/modules/spot/html/templates/reservebar/index.d.ts +8 -0
  51. package/dist/types/modules/spot/html/templates/reservebar/large-category-image-tout.template.d.ts +2 -0
  52. package/dist/types/modules/spot/html/templates/reservebar/navigation-banner.template.d.ts +2 -0
  53. package/dist/types/modules/spot/html/templates/reservebar/small-category-image-tout.template.d.ts +2 -0
  54. package/dist/types/modules/spot/html/templates/reservebar/small-discover-tout.template.d.ts +2 -0
  55. package/dist/types/modules/spot/html/templates/spot.template.d.ts +21 -0
  56. package/dist/types/modules/spot/index.d.ts +6 -0
  57. package/dist/types/modules/spot/spot.constant.d.ts +3 -0
  58. package/dist/types/modules/spot/spot.enum.d.ts +57 -0
  59. package/dist/types/modules/spot/spot.html.service.d.ts +22 -0
  60. package/dist/types/modules/spot/spot.interface.d.ts +44 -0
  61. package/dist/types/modules/spot/spot.selection.service.d.ts +16 -0
  62. package/dist/types/modules/spot/spot.type.d.ts +27 -0
  63. package/dist/types/rmn-client.d.ts +58 -0
  64. package/dist/types/types.d.ts +11 -0
  65. package/package.json +34 -14
  66. package/umd/liquidcommerce-rmn-sdk.min.js +1 -0
  67. package/CHANGELOG.md +0 -75
  68. package/dist/index.d.ts +0 -192
  69. package/dist/index.js +0 -19
  70. package/dist/index.js.map +0 -1
  71. package/dist/index.mjs +0 -19
  72. package/dist/index.mjs.map +0 -1
@@ -0,0 +1,14 @@
1
+ export interface IObjectHelper {
2
+ merge<T>(target: Record<string, T>, ...sources: Array<Record<string, any>>): Record<string, any>;
3
+ values<T>(source: Record<string, T>): T[];
4
+ includes(source: Record<string, any>, key: string): boolean;
5
+ valuesIncludes(source: Record<string, any>, value: string): boolean;
6
+ hasAllValues(source: Record<string, any>, keys: string[]): boolean;
7
+ isArray(obj: any): boolean;
8
+ }
9
+ export interface IStringHelper {
10
+ includes(val: string | string[], search: string, start?: number): boolean;
11
+ split(val: string, delimiter: string): string[];
12
+ upperCase(val: string): string;
13
+ toString(val: unknown): string;
14
+ }
@@ -0,0 +1,2 @@
1
+ export * from './object.helper';
2
+ export * from './string.helper';
@@ -0,0 +1,95 @@
1
+ import type { IObjectHelper } from './helpers.interface';
2
+ export declare class ObjectHelper implements IObjectHelper {
3
+ /**
4
+ * Returns an instance of the ObjectHelper class.
5
+ *
6
+ * @return {ObjectHelper} An instance of the ObjectHelper class.
7
+ */
8
+ static getInstance(): ObjectHelper;
9
+ /**
10
+ * Merges multiple source objects into a target object.
11
+ *
12
+ * @template T - The type of values in the target object.
13
+ * @param {Record<string, T>} target - The target object to merge into.
14
+ * @param {...Array<Record<string, any>>} sources - The source objects to merge.
15
+ * @returns {Record<string, any>} - The merged object.
16
+ */
17
+ merge<T>(target: Record<string, T>, ...sources: Array<Record<string, any>>): Record<string, any>;
18
+ /**
19
+ * Retrieves the values of an input object and returns them as an array.
20
+ *
21
+ * @param {Record<string, T>} source - The input object.
22
+ * @template T - The type of the values in the object.
23
+ * @return {T[]} - An array containing the values of the input object.
24
+ */
25
+ values<T>(source: Record<string, T>): T[];
26
+ /**
27
+ * Checks if a given key is present in a source object.
28
+ *
29
+ * @param {Record<string, any>} source - The object to search within.
30
+ * @param {string} key - The key to check for.
31
+ * @return {boolean} - True if the key is present in the source, false otherwise.
32
+ */
33
+ includes(source: Record<string, any>, key: string): boolean;
34
+ /**
35
+ * Checks if the given value is included in the values of a source object.
36
+ *
37
+ * @param {Record<string, any>} source - The source object to check the values from.
38
+ * @param {string} value - The value to search for in the source object values.
39
+ * @returns {boolean} - True if the value is found in the source object values, false otherwise.
40
+ */
41
+ valuesIncludes(source: Record<string, any>, value: string): boolean;
42
+ /**
43
+ * Checks if all keys from the given 'keys' array are present in the 'source' object.
44
+ *
45
+ * @param {Record<string, any>} source - The object to be checked.
46
+ * @param {string[]} keys - The array of keys to be checked in the 'source' object.
47
+ * @return {boolean} - Returns true if all keys are present in the 'source' object,
48
+ * false otherwise.
49
+ */
50
+ hasAllValues(source: Record<string, any>, keys: string[]): boolean;
51
+ /**
52
+ * Checks if the given object is an array.
53
+ *
54
+ * @param {any} obj - The object to check.
55
+ * @return {boolean} - Returns true if the object is an array, otherwise returns false.
56
+ */
57
+ isArray(obj: any): boolean;
58
+ /**
59
+ * Merges the value with the target value.
60
+ *
61
+ * @param {any[] | Record<string, T>} targetValue - The target value to merge with.
62
+ * @param {Record<string, any>} value - The value to merge.
63
+ * @returns {Record<string, any>} - The merged value.
64
+ */
65
+ private mergeValue;
66
+ /**
67
+ * Merges the values of an array or object with a given array of objects and returns the merged result as an object.
68
+ * If the targetValue is not an array, it returns a copy of the value array.
69
+ *
70
+ * @param targetValue - The target array or object to merge values into.
71
+ * @param value - The array of objects containing values to merge into the targetValue.
72
+ * @returns The merged result as an object.
73
+ */
74
+ private mergeArrayValues;
75
+ /**
76
+ * Merges the values of two objects or arrays into a single object.
77
+ * If the target value is an array or a record, the method merges the values into the target value.
78
+ * If the target value is not an array or a record, it returns the new value.
79
+ *
80
+ * @template T - The type of the values in the target object.
81
+ * @param {object[]|Record<string, T>} targetValue - The target object or array to merge the values into.
82
+ * @param {Record<string, any>} value - The new values to merge into the target object or array.
83
+ * @returns {Record<string, any>} - The merged object or array.
84
+ */
85
+ private mergeObjectValues;
86
+ /**
87
+ * Merges the properties of the source object into the target object.
88
+ *
89
+ * @param {Record<string, any>} target - The target object to merge the properties into.
90
+ * @param {Record<string, any>} source - The source object containing the properties to merge.
91
+ *
92
+ * @return {void} - This method does not return any value.
93
+ */
94
+ private innerMerge;
95
+ }
@@ -0,0 +1,39 @@
1
+ import type { IStringHelper } from './helpers.interface';
2
+ export declare class StringHelper implements IStringHelper {
3
+ /**
4
+ * Returns an instance of the StringHelper class.
5
+ * @return {StringHelper} An instance of the StringHelper class.
6
+ */
7
+ static getInstance(): StringHelper;
8
+ /**
9
+ * Checks whether a string or an array of strings includes a given search string.
10
+ *
11
+ * @param {string | string[]} val - The string or array of strings to search in.
12
+ * @param {string} search - The search string to look for in the value.
13
+ * @param {number} [start=0] - The optional starting index for the search.
14
+ * @return {boolean} - Returns true if the search string is found, otherwise false.
15
+ */
16
+ includes(val: string | string[], search: string, start?: number): boolean;
17
+ /**
18
+ * Splits a string into an array of substrings using a given delimiter.
19
+ *
20
+ * @param {string} val - The string to be split.
21
+ * @param {string} delimiter - The delimiter used to split the string.
22
+ * @return {string[]} - An array of substrings.
23
+ */
24
+ split(val: string, delimiter: string): string[];
25
+ /**
26
+ * Converts a given string to uppercase.
27
+ *
28
+ * @param {string} val - The string to be converted.
29
+ * @return {string} - The uppercase version of the input string.
30
+ */
31
+ upperCase(val: string): string;
32
+ /**
33
+ * Converts the specified value to a string representation.
34
+ *
35
+ * @param {unknown} val - The value to convert to a string.
36
+ * @return {string} - The string representation of the value.
37
+ */
38
+ toString(val: unknown): string;
39
+ }
@@ -0,0 +1,7 @@
1
+ import type { IAuthConfigs } from '../../modules/auth';
2
+ export declare const REQUEST_CLOUD_PARTNER_SITE = "X-Liquid-Partner-Site";
3
+ export declare const REQUEST_CLOUD_PROTECTED_KEY = "X-Liquid-Protected";
4
+ export declare const REQUEST_CLOUD_PROTECTED_TIMESTAMP = "X-Liquid-Timestamp";
5
+ export declare const REQUEST_CLOUD_API_KEY = "X-Liquid-Api-Key";
6
+ export declare const REQUEST_CLOUD_API_ENV = "X-Liquid-Api-Env";
7
+ export declare const SDK_CONFIG: IAuthConfigs;
@@ -0,0 +1,39 @@
1
+ import type { AxiosRequestConfig, AxiosResponse } from 'axios';
2
+ import type { JWTVerifyResult } from 'jose';
3
+ import type { IAuthCredentials } from '../../modules/auth';
4
+ import type { ApiError } from './error.api';
5
+ export type Result<T, E = Error> = {
6
+ isOk: true;
7
+ val: T;
8
+ isErr: false;
9
+ } | {
10
+ isOk: false;
11
+ val: null;
12
+ isErr: E;
13
+ };
14
+ export interface IResponseMetadataDefault {
15
+ timestamp: number;
16
+ timezone: string;
17
+ requestId: string;
18
+ path: string;
19
+ version: string;
20
+ repoVersion: string;
21
+ [key: string]: any;
22
+ }
23
+ export interface IResponseDefault<T = Record<string, any>> {
24
+ statusCode?: number;
25
+ message?: string;
26
+ refresh: IAuthCredentials;
27
+ _metadata?: IResponseMetadataDefault;
28
+ data?: T;
29
+ }
30
+ export interface IEncryptedApi {
31
+ handleEncryption(data: Record<string, any>, LT: number): Promise<string | undefined>;
32
+ handleDecryption(data: string, LT: number): Promise<JWTVerifyResult>;
33
+ }
34
+ export declare abstract class BaseApiAbstract {
35
+ protected abstract getConfig(): AxiosRequestConfig | Record<string, any>;
36
+ protected abstract get<T>(path: string, configOverrides: AxiosRequestConfig): Promise<Result<T | null, ApiError>>;
37
+ protected abstract post<T>(path: string, data: Record<string, any>, configOverrides: AxiosRequestConfig): Promise<Result<T | null, ApiError>>;
38
+ protected abstract createRequest<T>(subPath: string | null, configOverrides: AxiosRequestConfig | null, requestFunction: (url: string, config: AxiosRequestConfig | undefined) => Promise<AxiosResponse | null>): Promise<Result<T | null, ApiError>>;
39
+ }
@@ -0,0 +1,80 @@
1
+ import type { AxiosRequestConfig, AxiosResponse, RawAxiosRequestHeaders } from 'axios';
2
+ import type { IAuthCredentials } from '../../modules/auth';
3
+ import type { Result } from './api.interface';
4
+ import { BaseApiAbstract } from './api.interface';
5
+ import { ApiError } from './error.api';
6
+ export declare class BaseApi extends BaseApiAbstract {
7
+ readonly authInfo: IAuthCredentials;
8
+ private readonly baseUrl;
9
+ private readonly objectHelper;
10
+ private readonly encryptedApi;
11
+ private readonly client;
12
+ constructor(auth: IAuthCredentials);
13
+ private getPartnerSite;
14
+ /**
15
+ * Retrieve the configuration for making an Axios request.
16
+ *
17
+ * @param {RawAxiosRequestHeaders} [headers] - Optional headers to be included in the request.
18
+ * @return {AxiosRequestConfig|Record<string, any>} The configuration object containing the request headers.
19
+ */
20
+ protected getConfig(headers?: RawAxiosRequestHeaders): AxiosRequestConfig | Record<string, any>;
21
+ /**
22
+ * Retrieves data from the specified path using a GET request.
23
+ *
24
+ * @param {string} path - The path to retrieve data from.
25
+ * @param {AxiosRequestConfig} configOverrides - Additional configuration options for the request.
26
+ * @returns {Promise<Result<T | null, ApiError>>} A promise that resolves to the result, which can be either data of type T or null, or an error of type ApiError.
27
+ */
28
+ protected get<T>(path: string, configOverrides: AxiosRequestConfig): Promise<Result<T | null, ApiError>>;
29
+ /**
30
+ * Sends a POST request to the specified path with the given data and configuration overrides.
31
+ *
32
+ * @param {string} path - The path to send the POST request to.
33
+ * @param {Record<string, any>} data - The data to send with the request.
34
+ * @param {AxiosRequestConfig} configOverrides - The configuration overrides for the request.
35
+ *
36
+ * @returns {Promise<Result<T | null, ApiError>>} - A Promise that resolves to the result of the POST request.
37
+ */
38
+ protected post<T>(path: string, data: Record<string, any>, configOverrides: AxiosRequestConfig): Promise<Result<T | null, ApiError>>;
39
+ /**
40
+ * Create a request to the API server.
41
+ * @param {string | null} subPath - The subpath of the API endpoint, can be null if there is no subpath.
42
+ * @param {AxiosRequestConfig | null} configOverrides - The config overrides for the Axios request, can be null if there are no overrides.
43
+ * @param {function} requestFunction - The function to send the request, must accept the URL and config as parameters and return a promise of the Axios response or null.
44
+ * @returns {Promise<Result<T | null, ApiError>>} - A promise that resolves to a Result object containing the response data or null on success, or an ApiError object on failure.
45
+ */
46
+ protected createRequest<T>(subPath: string | null, configOverrides: AxiosRequestConfig | null, requestFunction: (url: string, config: AxiosRequestConfig | undefined) => Promise<AxiosResponse | null>): Promise<Result<T | null, ApiError>>;
47
+ /**
48
+ * Private method that creates a full Axios request configuration.
49
+ *
50
+ * @param {AxiosRequestConfig | null} configOverrides - The optional overrides for the Axios request configuration.
51
+ * @returns {AxiosRequestConfig} - The merged Axios request configuration.
52
+ */
53
+ private createFullConfig;
54
+ /**
55
+ * Sends a request to the specified URL with the given configuration.
56
+ *
57
+ * @param {string} url - The URL to send the request to.
58
+ * @param {AxiosRequestConfig} config - The configuration options for the request.
59
+ * @param {function} requestFunction - The function to use for sending the request.
60
+ * It should have the following signature: (url: string, config: AxiosRequestConfig | undefined) => Promise<AxiosResponse | null>
61
+ * @return {Promise<AxiosResponse | null>} - A Promise that resolves with the response from the request function,
62
+ * or null if the request was unsuccessful.
63
+ */
64
+ private sendRequest;
65
+ /**
66
+ * Gets the response from an Axios response object and handles decryption if necessary.
67
+ *
68
+ * @template T - The type of the response data.
69
+ * @param {AxiosResponse | null} response - The Axios response object.
70
+ * @returns {Promise<Result<T | null, ApiError>>} - A promise that resolves to a Result object containing the response data or an ApiError.
71
+ */
72
+ private getResponse;
73
+ /**
74
+ * Creates a URL by concatenating the base URL with the provided path.
75
+ *
76
+ * @param {string | null} path - The path to be appended to the base URL.
77
+ * @return {string} The concatenated URL.
78
+ */
79
+ private createURL;
80
+ }
@@ -0,0 +1,66 @@
1
+ import type { JWTVerifyResult } from 'jose';
2
+ import type { IEncryptedApi } from './api.interface';
3
+ export declare class EncryptedApi implements IEncryptedApi {
4
+ private apiKey;
5
+ constructor(apiKey: string);
6
+ /**
7
+ * Returns an instance of the EncryptedAPI class.
8
+ *
9
+ * @returns {EncryptedApi} The instance of the EncryptedAPI class.
10
+ */
11
+ static getInstance(apiKey: string): EncryptedApi;
12
+ /**
13
+ * Encrypts the given data using the provided encryption key and LT value.
14
+ *
15
+ * @param {Record<string, any>} data - The data to be encrypted.
16
+ * @param {number} LT - The LT (Lifetime) value used for encryption.
17
+ * @returns {Promise<string | undefined>} - The encrypted data as a string, or undefined if encryption fails.
18
+ */
19
+ handleEncryption(data: Record<string, any>, LT: number): Promise<string | undefined>;
20
+ /**
21
+ * Decrypts the given data using a key generated based on LT.
22
+ *
23
+ * @param {string} data - The data to be decrypted.
24
+ * @param {number} LT - The LT value used to generate the decryption key.
25
+ * @return {Promise<JWTVerifyResult>} A promise that resolves with the decrypted data.
26
+ */
27
+ handleDecryption(data: string, LT: number): Promise<JWTVerifyResult>;
28
+ /**
29
+ * Returns the key based on the given LT value.
30
+ *
31
+ * @param {number} LT - The LT value used to retrieve the key.
32
+ * @returns {string} - The key retrieved from the credentials.
33
+ */
34
+ private getKey;
35
+ /**
36
+ * Moves the given timestamp forward by the specified number of minutes.
37
+ *
38
+ * @param {number} minutes - The number of minutes to move forward.
39
+ * @param {number} LT - The initial timestamp in milliseconds.
40
+ * @return {number} - The new timestamp after moving forward by the specified number of minutes.
41
+ */
42
+ private forwardInMinutes;
43
+ /**
44
+ * Decrypts the given data using the specified key and returns the result as a Promise of JWTVerifyResult.
45
+ *
46
+ * @param {string} data - The data to be decrypted.
47
+ * @param {string} key - The key used for decryption.
48
+ * @return {Promise<JWTVerifyResult>} A Promise that resolves to the decrypted JWT payload.
49
+ */
50
+ joseDecrypt(data: string, key: string): Promise<JWTVerifyResult>;
51
+ /**
52
+ * Encrypts and signs the given data using the JOSE encryption standard.
53
+ * @param {Record<string, any>} data - The data to encrypt and sign.
54
+ * @param {string} key - The encryption key.
55
+ * @param {Date | number} exp - The expiration time for the encrypted data.
56
+ * @returns {Promise<string>} - The encrypted and signed data as a string.
57
+ */
58
+ private joseEncrypt;
59
+ /**
60
+ * Handles the error by throwing an ApiError.
61
+ *
62
+ * @param {unknown} error - The error object to handle.
63
+ * @throws {ApiError} - The ApiError object.
64
+ */
65
+ private handleError;
66
+ }
@@ -0,0 +1,5 @@
1
+ export declare class ApiError {
2
+ cause: number;
3
+ errorMessage: string;
4
+ constructor(error?: unknown);
5
+ }
@@ -0,0 +1,5 @@
1
+ export * from './api.constant';
2
+ export * from './api.interface';
3
+ export * from './base.api';
4
+ export * from './encrypted.api';
5
+ export * from './error.api';
@@ -0,0 +1 @@
1
+ export * from './singleton-manager';
@@ -0,0 +1,12 @@
1
+ export declare class SingletonManager {
2
+ private static instances;
3
+ /**
4
+ * Retrieves an instance of the specified class using the provided instance creator function.
5
+ *
6
+ * @template T The type of the instance.
7
+ * @param {string} className The name of the class.
8
+ * @param {() => T} instanceCreator The function that creates the instance.
9
+ * @returns {T} The instance of the specified class.
10
+ */
11
+ static getInstance<T>(className: string, instanceCreator: () => T): T;
12
+ }
@@ -0,0 +1,7 @@
1
+ export * from './modules/spot/spot.enum';
2
+ export declare enum RMN_ENV {
3
+ LOCAL = "local",
4
+ DEVELOPMENT = "development",
5
+ STAGING = "staging",
6
+ PRODUCTION = "production"
7
+ }
@@ -0,0 +1,3 @@
1
+ export * from './enums';
2
+ export * from './rmn-client';
3
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ import { RmnClient, RmnCreateSpotElement } from './index';
2
+ export { RmnClient, RmnCreateSpotElement };
@@ -0,0 +1 @@
1
+ export declare const AUTH_API_PATH = "/auth";
@@ -0,0 +1,27 @@
1
+ import type { RMN_ENV } from '../../enums';
2
+ export interface IAuthCredentials {
3
+ authenticated: boolean;
4
+ token: string;
5
+ apiKey: string;
6
+ env: RMN_ENV;
7
+ }
8
+ export interface IAuthResponse {
9
+ statusCode: number;
10
+ message: string;
11
+ data: IAuthCredentials | Record<string, any>;
12
+ }
13
+ export interface IAuthUrls {
14
+ local: string;
15
+ development: string;
16
+ staging: string;
17
+ production: string;
18
+ }
19
+ export interface IAuthConfigs {
20
+ url: IAuthUrls;
21
+ apiHeader: string;
22
+ accessHeader: string;
23
+ credentials: IAuthCredentials;
24
+ }
25
+ export interface IAuthService {
26
+ initialize(): Promise<IAuthCredentials>;
27
+ }
@@ -0,0 +1,22 @@
1
+ import { BaseApi } from '../../common/http';
2
+ import type { RMN_ENV } from '../../enums';
3
+ import type { IAuthCredentials, IAuthService } from './auth.interface';
4
+ declare class AuthService extends BaseApi implements IAuthService {
5
+ private constructor();
6
+ /**
7
+ * Retrieves the singleton instance of the AuthService class.
8
+ *
9
+ * @param {string} apiKey - The API key used for authentication.
10
+ * @param {RMN_ENV} env - The environment enum value.
11
+ * @returns {AuthService} The singleton instance of the AuthService class.
12
+ */
13
+ static getInstance(apiKey: string, env: RMN_ENV): AuthService;
14
+ /**
15
+ * Initializes the authentication process.
16
+ *
17
+ * @returns {Promise<IAuthCredentials>} A Promise that resolves to the authenticated credentials.
18
+ * @throws {Error} If there is an error during authentication or the authentication response is unsuccessful.
19
+ */
20
+ initialize(): Promise<IAuthCredentials>;
21
+ }
22
+ export default AuthService;
@@ -0,0 +1,3 @@
1
+ export * from './auth.constant';
2
+ export * from './auth.interface';
3
+ export * from './auth.service';
@@ -0,0 +1 @@
1
+ export * from './spot.element.service';
@@ -0,0 +1,7 @@
1
+ import type { ISpot } from 'types';
2
+ export interface ICustomSpotElement extends HTMLElement {
3
+ data?: ISpot;
4
+ customHtmlElement?: HTMLElement;
5
+ }
6
+ declare let SpotElement: new () => HTMLElement;
7
+ export { SpotElement };
@@ -0,0 +1,4 @@
1
+ export declare const SPOT_ELEMENT_SHADOW_ROOT: (width: number, height: number, hasCustomHtmlElement: boolean) => {
2
+ style: HTMLStyleElement;
3
+ wrapper: HTMLDivElement;
4
+ };
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function billboardV1Template(spot: ISpot): string;
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function billboardV2Template(spot: ISpot): string;
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function billboardV3Template(spot: ISpot): string;
@@ -0,0 +1,3 @@
1
+ export * from './billboard-v1.template';
2
+ export * from './billboard-v2.template';
3
+ export * from './billboard-v3.template';
@@ -0,0 +1,3 @@
1
+ export declare const GFONT_PRECONNECT: () => string;
2
+ export declare const GFONT_SOURCE_SANS_3: () => string;
3
+ export declare const GFONT_CORMORANT: () => string;
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function inTextV1Template(spot: ISpot): string;
@@ -0,0 +1 @@
1
+ export * from './in-text-v1.template';
@@ -0,0 +1,7 @@
1
+ export * from './billboard';
2
+ export * from './in-text';
3
+ export * from './large-leaderboard';
4
+ export * from './large-rectangle';
5
+ export * from './square';
6
+ export * from './vertical-rectangle';
7
+ export * from './wide-skyscraper';
@@ -0,0 +1,2 @@
1
+ export * from './large-leaderboard-v1.template';
2
+ export * from './large-leaderboard-v2.template';
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function largeLeaderboardV1Template(spot: ISpot): string;
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function largeLeaderboardV2Template(spot: ISpot): string;
@@ -0,0 +1 @@
1
+ export * from './large-rectangle-v1.template';
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function largeRectangleV1Template(spot: ISpot): string;
@@ -0,0 +1,2 @@
1
+ export * from './square-v1.template';
2
+ export * from './square-v2.template';
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function squareV1Template(spot: ISpot): string;
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function squareV2Template(spot: ISpot): string;
@@ -0,0 +1 @@
1
+ export * from './vertical-rectangle-v1.template';
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function verticalRectangleV1Template(spot: ISpot): string;
@@ -0,0 +1 @@
1
+ export * from './wide-skyscraper-v1.template';
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function wideSkyscraperV1Template(spot: ISpot): string;
@@ -0,0 +1 @@
1
+ export * from './spot.template';
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function rbCollectionBannerWithoutTextBlockTemplate(spot: ISpot): string;
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function rbHomepageHeroFullImageTemplate(spot: ISpot): string;
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function rbHomepageHeroThreeTileTemplate(spot: ISpot): string;
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function rbHomepageHeroTwoTileTemplate(spot: ISpot): string;
@@ -0,0 +1,8 @@
1
+ export * from './collection-banner-without-text-block.template';
2
+ export * from './homepage-hero-full-image.template';
3
+ export * from './homepage-hero-three-tile.template';
4
+ export * from './homepage-hero-two-tile.template';
5
+ export * from './large-category-image-tout.template';
6
+ export * from './navigation-banner.template';
7
+ export * from './small-category-image-tout.template';
8
+ export * from './small-discover-tout.template';
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function rbLargeCategoryImageToutTemplate(spot: ISpot): string;
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function rbNavigationBannerTemplate(spot: ISpot): string;
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function rbSmallCategoryImageToutTemplate(spot: ISpot): string;
@@ -0,0 +1,2 @@
1
+ import type { ISpot } from 'types';
2
+ export declare function rbSmallDiscoverToutTemplate(spot: ISpot): string;
@@ -0,0 +1,21 @@
1
+ import type { ISpot } from 'types';
2
+ export declare enum ENUM_SPOT_ELEMENT_ATTRIBUTE {
3
+ WIDTH = "width",
4
+ HEIGHT = "height",
5
+ FLUID = "fluid",
6
+ REDIRECT_ON_CLICK = "redirect-on-click"
7
+ }
8
+ export interface ISpotHtmlAttribute {
9
+ [ENUM_SPOT_ELEMENT_ATTRIBUTE.WIDTH]: number;
10
+ [ENUM_SPOT_ELEMENT_ATTRIBUTE.HEIGHT]: number;
11
+ [ENUM_SPOT_ELEMENT_ATTRIBUTE.FLUID]: string;
12
+ [ENUM_SPOT_ELEMENT_ATTRIBUTE.REDIRECT_ON_CLICK]: string;
13
+ }
14
+ /**
15
+ * Creates the spot html string based on the provided spot data.
16
+ *
17
+ * @param {ISpot} data - The spot data.
18
+ *
19
+ * @return {string} - The spot html string.
20
+ */
21
+ export declare const GET_SPOT_TEMPLATE_HTML_STRING: (data: ISpot) => string;