@bitrix24/b24jssdk
Version:
Bitrix24 REST API JavaScript SDK
1 lines • 5.59 kB
Source Map (JSON)
{"version":3,"file":"frame.mjs","sources":["../../../src/frame/frame.ts"],"sourcesContent":["import type { B24FrameQueryParams, MessageInitData } from '../types/auth'\nimport { B24LangList } from '../core/language/list'\nimport { ApiVersion } from '../types/b24'\n\n/**\n * Application Frame Data Manager\n */\nexport class AppFrame {\n #domain: string = ''\n #protocol: boolean = true\n #appSid: null | string = null\n #path: null | string = null\n #lang: null | string = null\n #b24TargetRest: string\n #b24Target: string\n readonly #b24TargetRestWithPath: Map<ApiVersion, string>\n\n constructor(\n queryParams: B24FrameQueryParams\n ) {\n if (queryParams.DOMAIN) {\n this.#domain = queryParams.DOMAIN\n this.#domain = this.#domain.replace(/:(80|443)$/, '')\n }\n\n this.#protocol = queryParams.PROTOCOL === true\n\n if (queryParams.LANG) {\n this.#lang = queryParams.LANG\n }\n\n if (queryParams.APP_SID) {\n this.#appSid = queryParams.APP_SID\n }\n\n this.#b24TargetRestWithPath = new Map()\n\n this.#b24Target = `${this.#protocol ? 'https' : 'http'}://${this.#domain}`\n this.#b24TargetRest = `${this.#b24Target}/rest`\n\n this.#b24TargetRestWithPath.set(ApiVersion.v2, `${this.#b24TargetRest}`)\n this.#b24TargetRestWithPath.set(ApiVersion.v3, `${this.#b24TargetRest}/api`)\n }\n\n /**\n * Initializes the data received from the parent window message.\n * @param data\n */\n initData(data: MessageInitData): AppFrame {\n if (!this.#domain) {\n this.#domain = data.DOMAIN\n }\n\n if (!this.#path) {\n this.#path = data.PATH\n }\n\n if (!this.#lang) {\n this.#lang = data.LANG\n }\n\n this.#protocol = Number.parseInt(data.PROTOCOL) === 1\n this.#domain = this.#domain.replace(/:(80|443)$/, '')\n\n this.#b24Target = `${this.#protocol ? 'https' : 'http'}://${this.#domain}`\n this.#b24TargetRest = `${this.#b24Target}/rest`\n\n this.#b24TargetRestWithPath.set(ApiVersion.v2, `${this.#b24TargetRest}`)\n this.#b24TargetRestWithPath.set(ApiVersion.v3, `${this.#b24TargetRest}/api`)\n\n return this\n }\n\n /**\n * Returns the sid of the application relative to the parent window like this `9c33468728e1d2c8c97562475edfd96`\n */\n getAppSid(): string {\n if (null === this.#appSid) {\n throw new Error(`Not init appSid`)\n }\n\n return this.#appSid\n }\n\n /**\n * Get the account address BX24 (https://your_domain.bitrix24.com)\n */\n getTargetOrigin(): string {\n return this.#b24Target\n }\n\n /**\n * Get the account address BX24 with path\n * - ver2 `https://your_domain.bitrix24.com/rest/`\n * - ver3` https://your_domain.bitrix24.com/rest/api/`\n */\n getTargetOriginWithPath(): Map<ApiVersion, string> {\n return this.#b24TargetRestWithPath\n }\n\n /**\n * Returns the localization of the B24 interface\n * @return {B24LangList} - default `B24LangList.en`\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-get-lang.html\n */\n getLang(): B24LangList {\n return (this.#lang as B24LangList) || B24LangList.en\n }\n}\n"],"names":[],"mappings":"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"}