@api-client/core 0.19.19 → 0.19.20
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.
- package/build/src/authorization/Utils.js +3 -3
- package/build/src/authorization/Utils.js.map +1 -1
- package/build/src/modeling/ApiModel.d.ts +16 -5
- package/build/src/modeling/ApiModel.d.ts.map +1 -1
- package/build/src/modeling/ApiModel.js +17 -2
- package/build/src/modeling/ApiModel.js.map +1 -1
- package/build/src/modeling/ApiValidation.d.ts.map +1 -1
- package/build/src/modeling/ApiValidation.js +2 -1
- package/build/src/modeling/ApiValidation.js.map +1 -1
- package/build/src/modeling/DomainProperty.d.ts +12 -0
- package/build/src/modeling/DomainProperty.d.ts.map +1 -1
- package/build/src/modeling/DomainProperty.js +23 -28
- package/build/src/modeling/DomainProperty.js.map +1 -1
- package/build/src/modeling/DomainSerialization.js +1 -1
- package/build/src/modeling/DomainSerialization.js.map +1 -1
- package/build/src/modeling/ExposedEntity.d.ts +15 -1
- package/build/src/modeling/ExposedEntity.d.ts.map +1 -1
- package/build/src/modeling/ExposedEntity.js +42 -4
- package/build/src/modeling/ExposedEntity.js.map +1 -1
- package/build/src/modeling/actions/Action.d.ts.map +1 -1
- package/build/src/modeling/actions/Action.js +1 -0
- package/build/src/modeling/actions/Action.js.map +1 -1
- package/build/src/modeling/actions/ListAction.d.ts +3 -17
- package/build/src/modeling/actions/ListAction.d.ts.map +1 -1
- package/build/src/modeling/actions/ListAction.js +18 -38
- package/build/src/modeling/actions/ListAction.js.map +1 -1
- package/build/src/modeling/actions/SearchAction.d.ts +4 -4
- package/build/src/modeling/actions/SearchAction.d.ts.map +1 -1
- package/build/src/modeling/actions/SearchAction.js +16 -13
- package/build/src/modeling/actions/SearchAction.js.map +1 -1
- package/build/src/modeling/generators/oas_312/OasGenerator.d.ts +32 -0
- package/build/src/modeling/generators/oas_312/OasGenerator.d.ts.map +1 -0
- package/build/src/modeling/generators/oas_312/OasGenerator.js +1452 -0
- package/build/src/modeling/generators/oas_312/OasGenerator.js.map +1 -0
- package/build/src/modeling/generators/oas_312/OasSchemaGenerator.d.ts +27 -0
- package/build/src/modeling/generators/oas_312/OasSchemaGenerator.d.ts.map +1 -0
- package/build/src/modeling/generators/oas_312/OasSchemaGenerator.js +295 -0
- package/build/src/modeling/generators/oas_312/OasSchemaGenerator.js.map +1 -0
- package/build/src/modeling/generators/oas_312/types.d.ts +1010 -0
- package/build/src/modeling/generators/oas_312/types.d.ts.map +1 -0
- package/build/src/modeling/generators/oas_312/types.js +2 -0
- package/build/src/modeling/generators/oas_312/types.js.map +1 -0
- package/build/src/modeling/generators/oas_320/OasGenerator.d.ts +16 -0
- package/build/src/modeling/generators/oas_320/OasGenerator.d.ts.map +1 -0
- package/build/src/modeling/generators/oas_320/OasGenerator.js +306 -0
- package/build/src/modeling/generators/oas_320/OasGenerator.js.map +1 -0
- package/build/src/modeling/generators/oas_320/OasSchemaGenerator.d.ts +25 -0
- package/build/src/modeling/generators/oas_320/OasSchemaGenerator.d.ts.map +1 -0
- package/build/src/modeling/generators/oas_320/OasSchemaGenerator.js +237 -0
- package/build/src/modeling/generators/oas_320/OasSchemaGenerator.js.map +1 -0
- package/build/src/modeling/generators/oas_320/types.d.ts +1219 -0
- package/build/src/modeling/generators/oas_320/types.d.ts.map +1 -0
- package/build/src/modeling/generators/oas_320/types.js +2 -0
- package/build/src/modeling/generators/oas_320/types.js.map +1 -0
- package/build/src/modeling/types.d.ts +50 -13
- package/build/src/modeling/types.d.ts.map +1 -1
- package/build/src/modeling/types.js.map +1 -1
- package/build/src/modeling/validation/api_model_rules.d.ts +1 -0
- package/build/src/modeling/validation/api_model_rules.d.ts.map +1 -1
- package/build/src/modeling/validation/api_model_rules.js +105 -29
- package/build/src/modeling/validation/api_model_rules.js.map +1 -1
- package/build/src/models/ProjectRequest.d.ts.map +1 -1
- package/build/src/models/ProjectRequest.js +0 -4
- package/build/src/models/ProjectRequest.js.map +1 -1
- package/build/src/models/transformers/ArcDexieTransformer.d.ts.map +1 -1
- package/build/src/models/transformers/ArcDexieTransformer.js +0 -4
- package/build/src/models/transformers/ArcDexieTransformer.js.map +1 -1
- package/build/src/models/transformers/ImportUtils.js +1 -1
- package/build/src/models/transformers/ImportUtils.js.map +1 -1
- package/build/src/models/transformers/PostmanBackupTransformer.d.ts.map +1 -1
- package/build/src/models/transformers/PostmanBackupTransformer.js +0 -4
- package/build/src/models/transformers/PostmanBackupTransformer.js.map +1 -1
- package/build/src/runtime/constants.d.ts +7 -0
- package/build/src/runtime/constants.d.ts.map +1 -0
- package/build/src/runtime/constants.js +8 -0
- package/build/src/runtime/constants.js.map +1 -0
- package/build/src/runtime/http-engine/ntlm/Des.d.ts.map +1 -1
- package/build/src/runtime/http-engine/ntlm/Des.js +1 -0
- package/build/src/runtime/http-engine/ntlm/Des.js.map +1 -1
- package/build/src/runtime/variables/EvalFunctions.d.ts.map +1 -1
- package/build/src/runtime/variables/EvalFunctions.js +0 -1
- package/build/src/runtime/variables/EvalFunctions.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/eslint.config.js +6 -0
- package/package.json +3 -1
- package/src/authorization/Utils.ts +3 -3
- package/src/modeling/ApiModel.ts +23 -8
- package/src/modeling/ApiValidation.ts +2 -0
- package/src/modeling/DomainProperty.ts +22 -18
- package/src/modeling/DomainSerialization.ts +1 -1
- package/src/modeling/ExposedEntity.ts +44 -4
- package/src/modeling/actions/Action.ts +1 -0
- package/src/modeling/actions/ListAction.ts +12 -30
- package/src/modeling/actions/SearchAction.ts +11 -8
- package/src/modeling/generators/oas_312/OasGenerator.ts +1685 -0
- package/src/modeling/generators/oas_312/OasSchemaGenerator.ts +322 -0
- package/src/modeling/generators/oas_312/types.ts +1052 -0
- package/src/modeling/generators/oas_320/OasGenerator.ts +359 -0
- package/src/modeling/generators/oas_320/OasSchemaGenerator.ts +255 -0
- package/src/modeling/generators/oas_320/types.ts +1259 -0
- package/src/modeling/types.ts +55 -22
- package/src/modeling/validation/api_model_rules.ts +103 -32
- package/src/models/ProjectRequest.ts +0 -4
- package/src/models/transformers/ArcDexieTransformer.ts +0 -4
- package/src/models/transformers/ImportUtils.ts +1 -1
- package/src/models/transformers/PostmanBackupTransformer.ts +0 -5
- package/src/runtime/constants.ts +9 -0
- package/src/runtime/http-engine/ntlm/Des.ts +1 -0
- package/src/runtime/variables/EvalFunctions.ts +0 -1
- package/tests/test-utils.ts +6 -2
- package/tests/unit/decorators/observed.spec.ts +8 -24
- package/tests/unit/decorators/observed_recursive.spec.ts +0 -1
- package/tests/unit/events/EventsTestHelpers.ts +0 -1
- package/tests/unit/events/events_polyfills.ts +0 -1
- package/tests/unit/legacy-transformers/DataTestHelper.ts +0 -2
- package/tests/unit/legacy-transformers/LegacyExportProcessor.spec.ts +0 -1
- package/tests/unit/modeling/actions/ListAction.spec.ts +9 -69
- package/tests/unit/modeling/actions/SearchAction.spec.ts +9 -35
- package/tests/unit/modeling/api_model.spec.ts +28 -0
- package/tests/unit/modeling/definitions/sku.spec.ts +0 -2
- package/tests/unit/modeling/domain_property.spec.ts +20 -1
- package/tests/unit/modeling/exposed_entity.spec.ts +71 -0
- package/tests/unit/modeling/generators/OasGenerator.spec.ts +302 -0
- package/tests/unit/modeling/validation/api_model_rules.spec.ts +113 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArcDexieTransformer.js","sourceRoot":"","sources":["../../../../src/models/transformers/ArcDexieTransformer.ts"],"names":[],"mappings":"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","sourcesContent":["import { nanoid } from '../../nanoid.js'\nimport { BaseTransformer, dataValue } from './BaseTransformer.js'\nimport { Creator, Browser, Page, Entry, Header } from './har.js'\nimport {\n ArcExportObject,\n ExportArcProjects,\n ExportArcSavedRequest,\n ExportArcHistoryRequest,\n} from '../legacy/DataExport.js'\n\ninterface DexieExport {\n kind: string\n createdAt: string\n version: string\n requests?: DexieRequest[]\n projects?: DexieProject[]\n}\ninterface DexieRequest {\n order: number\n url: string\n method: string\n type: string\n updateTime: number\n id: string\n kind: string\n har: DexieHar\n _har?: DexieHar\n name?: string\n _name?: string\n referenceEntry?: number\n driveId?: string\n}\n\ninterface DexieHar {\n comment: string\n version: string\n creator: Creator\n browser: Browser\n pages: Page[]\n entries: Entry[]\n}\n\ninterface DexieProject {\n order: number\n created: number\n updateTime: number\n requestIds: string[]\n name: string\n kind: string\n id: number\n}\n\ninterface ProjectItem {\n updateData: string[]\n legacyProject: ExportArcProjects\n}\n\ninterface RequestProcessItem {\n origin: string\n request: ExportArcSavedRequest | ExportArcHistoryRequest\n}\n\ninterface ProcessedRequests {\n saved: RequestProcessItem[]\n history: RequestProcessItem[]\n}\n\n/**\n * Transforms Dexie system (legacy system) into the legacy PouchDB system.\n */\nexport class ArcDexieTransformer extends BaseTransformer {\n /**\n * Transforms legacy ARC export object based on Dexie data store\n * into current export data model.\n *\n * @returns New data model object.\n */\n async transform(): Promise<ArcExportObject> {\n const raw = this[dataValue] as DexieExport\n\n const requests = await this.parseRequests(raw.requests || [])\n const pData = this.processProjects(raw.projects || [])\n const data = this.associateProjects(requests, pData)\n const result = {\n createdAt: new Date().toISOString(),\n version: 'unknown',\n kind: 'ARC#Import',\n requests: data.saved ? data.saved.map((item) => item.request as ExportArcSavedRequest) : [],\n projects: pData ? pData.map((item) => item.legacyProject as ExportArcProjects) : [],\n history: data.history ? data.history.map((item) => item.request as ExportArcHistoryRequest) : [],\n }\n // TODO: handle history data.\n return result\n }\n\n /**\n * In new structure projects do not have a reference to request ids. It's\n * the other way around in previous system.\n * It's a bad pattern for object stores but it must suffice for now.\n *\n * @param projects List of projects in the import.\n * @returns Preprocessed projects array\n */\n processProjects(projects: DexieProject[]): ProjectItem[] {\n if (!projects || !projects.length) {\n return []\n }\n const list: ProjectItem[] = []\n projects.forEach((item) => {\n const result = this.processProjectItem(item)\n if (result) {\n list.push(result)\n }\n })\n return list\n }\n\n /**\n * Creates a pre-processed project data.\n *\n * @param item Project object from the Dexie import.\n * @return Pre-processed project object with project store data\n * under the `legacyProject` property and list of requests IDs under\n * the `updateData` property.\n */\n processProjectItem(item: DexieProject): ProjectItem | undefined {\n if (!item.requestIds || !item.requestIds.length) {\n return undefined\n }\n return {\n updateData: item.requestIds,\n legacyProject: {\n kind: 'ARC#Project',\n key: nanoid(),\n name: item.name,\n order: item.order,\n updated: item.updateTime,\n created: item.created,\n },\n }\n }\n\n /**\n * History is placed in its own store, saved items has own store.\n * Har data are not imported this way as user cannot actually use it.\n *\n * @param requests List of requests objects from the import file.\n * @returns A promise resolved when import is ready.\n */\n async parseRequests(requests: DexieRequest[]): Promise<ProcessedRequests> {\n const data = await this.parseRequestsDeffered(requests)\n // remove duplicates from the history.\n const ids: string[] = []\n data.history = data.history.filter((item) => {\n if (ids.indexOf(item.request.key) === -1) {\n ids[ids.length] = item.request.key\n return true\n }\n return false\n })\n return data\n }\n\n /**\n * Parses the request data.\n * It takes only portion of the data to parse so the script release the\n * event loop and ANR screen won't appear.\n *\n * @param requests List of requests from the import.\n * @param saved Final list of saved requests\n * @param history Final list of history items.\n */\n async parseRequestsDeffered(\n requests: DexieRequest[],\n saved: RequestProcessItem[] = [],\n history: RequestProcessItem[] = []\n ): Promise<ProcessedRequests> {\n if (requests.length === 0) {\n return {\n saved,\n history,\n }\n }\n const len = Math.min(requests.length, 200)\n // Up to 200 loop iteration at once.\n // Then the function return and release main loop.\n for (let i = 0; i < len; i++) {\n const item = requests[i]\n if (item.type === 'history') {\n const result = this.parseHistoryItem(item)\n history.push(result)\n } else if (item.type === 'saved') {\n const result = this.parseSavedItem(item)\n saved.push(result)\n } else if (item.type === 'drive') {\n const result = this.parseDriveItem(item)\n saved.push(result)\n }\n }\n requests.splice(0, len)\n return this.parseRequestsDeffered(requests, saved, history)\n }\n\n parseHistoryItem(item: DexieRequest): RequestProcessItem {\n const updated = { ...item }\n updated.updateTime = updated.updateTime || Date.now()\n const obj: ExportArcHistoryRequest = {\n key: nanoid(),\n method: updated.method,\n url: updated.url,\n updated: new Date(updated.updateTime).getTime(),\n }\n // payload and headers\n const har = updated._har || updated.har\n const { entries } = har\n const entry = entries[entries.length - 1]\n if (entry) {\n const harRequest = entry.request\n obj.headers = this.parseHarHeaders(harRequest.headers)\n obj.payload = harRequest.postData?.text\n let t = new Date(entry.startedDateTime).getTime()\n if (Number.isNaN(t)) {\n t = Date.now()\n }\n obj.created = t\n } else {\n obj.created = obj.updated\n }\n obj.updated = Date.now()\n return {\n origin: updated.id,\n request: obj,\n }\n }\n\n parseSavedItem(item: DexieRequest): RequestProcessItem {\n const requestName = item.name || item._name\n let keyName = requestName\n if (keyName && keyName[0] === '_') {\n keyName = keyName.substr(1)\n }\n const obj: ExportArcSavedRequest = {\n name: requestName || '',\n method: item.method,\n url: item.url,\n type: 'saved',\n kind: 'ARC#HttpRequest',\n key: nanoid(),\n }\n // payload and headers\n const harIndex = item.referenceEntry || 0\n const har = item._har || item.har\n if (har) {\n const { entries } = har\n let entry\n if (harIndex || harIndex === 0) {\n entry = entries[harIndex]\n } else {\n ;[entry] = entries\n }\n if (entry) {\n const harRequest = entry.request\n obj.headers = this.parseHarHeaders(harRequest.headers)\n obj.payload = harRequest.postData?.text\n let t = new Date(entry.startedDateTime).getTime()\n if (Number.isNaN(t)) {\n t = Date.now()\n }\n obj.created = t\n }\n }\n obj.updated = Date.now()\n\n return {\n origin: item.id,\n request: obj,\n }\n }\n\n parseDriveItem(item: DexieRequest): RequestProcessItem {\n const result = this.parseSavedItem(item)\n result.request.driveId = item.driveId\n return result\n }\n\n parseHarHeaders(arr: Header[]): string {\n if (!arr || !arr.length) {\n return ''\n }\n return arr.map((item) => `${item.name}: ${item.value}`).join('\\n')\n }\n\n /**\n * Associate requests with project data.\n *\n * @param {ProcessedRequests} data Parsed requests object\n * @param {ProjectItem[]} projects List of projects\n * @return {ProcessedRequests} Parsed requests object\n */\n associateProjects(data: ProcessedRequests, projects: ProjectItem[]): ProcessedRequests {\n if (!projects || !projects.length) {\n return data\n }\n if (!data.saved) {\n data.saved = []\n }\n const savedLen = data.saved.length\n const projectsLen = projects.length\n for (let i = 0; i < projectsLen; i++) {\n const project = projects[i]\n const newProjectId = project.legacyProject.key\n for (let j = 0, rLen = project.updateData.length; j < rLen; j++) {\n const rId = project.updateData[j]\n for (let k = 0; k < savedLen; k++) {\n if (data.saved[k].origin === rId) {\n const { request } = data.saved[k]\n request.key += `/${newProjectId}`\n this.addProjectReference(request as ExportArcSavedRequest, newProjectId)\n this.addRequestReference(project.legacyProject, request.key)\n break\n }\n }\n }\n }\n return data\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ArcDexieTransformer.js","sourceRoot":"","sources":["../../../../src/models/transformers/ArcDexieTransformer.ts"],"names":[],"mappings":"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","sourcesContent":["import { nanoid } from '../../nanoid.js'\nimport { BaseTransformer, dataValue } from './BaseTransformer.js'\nimport { Creator, Browser, Page, Entry, Header } from './har.js'\nimport {\n ArcExportObject,\n ExportArcProjects,\n ExportArcSavedRequest,\n ExportArcHistoryRequest,\n} from '../legacy/DataExport.js'\n\ninterface DexieExport {\n kind: string\n createdAt: string\n version: string\n requests?: DexieRequest[]\n projects?: DexieProject[]\n}\ninterface DexieRequest {\n order: number\n url: string\n method: string\n type: string\n updateTime: number\n id: string\n kind: string\n har: DexieHar\n _har?: DexieHar\n name?: string\n _name?: string\n referenceEntry?: number\n driveId?: string\n}\n\ninterface DexieHar {\n comment: string\n version: string\n creator: Creator\n browser: Browser\n pages: Page[]\n entries: Entry[]\n}\n\ninterface DexieProject {\n order: number\n created: number\n updateTime: number\n requestIds: string[]\n name: string\n kind: string\n id: number\n}\n\ninterface ProjectItem {\n updateData: string[]\n legacyProject: ExportArcProjects\n}\n\ninterface RequestProcessItem {\n origin: string\n request: ExportArcSavedRequest | ExportArcHistoryRequest\n}\n\ninterface ProcessedRequests {\n saved: RequestProcessItem[]\n history: RequestProcessItem[]\n}\n\n/**\n * Transforms Dexie system (legacy system) into the legacy PouchDB system.\n */\nexport class ArcDexieTransformer extends BaseTransformer {\n /**\n * Transforms legacy ARC export object based on Dexie data store\n * into current export data model.\n *\n * @returns New data model object.\n */\n async transform(): Promise<ArcExportObject> {\n const raw = this[dataValue] as DexieExport\n\n const requests = await this.parseRequests(raw.requests || [])\n const pData = this.processProjects(raw.projects || [])\n const data = this.associateProjects(requests, pData)\n const result = {\n createdAt: new Date().toISOString(),\n version: 'unknown',\n kind: 'ARC#Import',\n requests: data.saved ? data.saved.map((item) => item.request as ExportArcSavedRequest) : [],\n projects: pData ? pData.map((item) => item.legacyProject as ExportArcProjects) : [],\n history: data.history ? data.history.map((item) => item.request as ExportArcHistoryRequest) : [],\n }\n // TODO: handle history data.\n return result\n }\n\n /**\n * In new structure projects do not have a reference to request ids. It's\n * the other way around in previous system.\n * It's a bad pattern for object stores but it must suffice for now.\n *\n * @param projects List of projects in the import.\n * @returns Preprocessed projects array\n */\n processProjects(projects: DexieProject[]): ProjectItem[] {\n if (!projects || !projects.length) {\n return []\n }\n const list: ProjectItem[] = []\n projects.forEach((item) => {\n const result = this.processProjectItem(item)\n if (result) {\n list.push(result)\n }\n })\n return list\n }\n\n /**\n * Creates a pre-processed project data.\n *\n * @param item Project object from the Dexie import.\n * @return Pre-processed project object with project store data\n * under the `legacyProject` property and list of requests IDs under\n * the `updateData` property.\n */\n processProjectItem(item: DexieProject): ProjectItem | undefined {\n if (!item.requestIds || !item.requestIds.length) {\n return undefined\n }\n return {\n updateData: item.requestIds,\n legacyProject: {\n kind: 'ARC#Project',\n key: nanoid(),\n name: item.name,\n order: item.order,\n updated: item.updateTime,\n created: item.created,\n },\n }\n }\n\n /**\n * History is placed in its own store, saved items has own store.\n * Har data are not imported this way as user cannot actually use it.\n *\n * @param requests List of requests objects from the import file.\n * @returns A promise resolved when import is ready.\n */\n async parseRequests(requests: DexieRequest[]): Promise<ProcessedRequests> {\n const data = await this.parseRequestsDeffered(requests)\n // remove duplicates from the history.\n const ids: string[] = []\n data.history = data.history.filter((item) => {\n if (ids.indexOf(item.request.key) === -1) {\n ids[ids.length] = item.request.key\n return true\n }\n return false\n })\n return data\n }\n\n /**\n * Parses the request data.\n * It takes only portion of the data to parse so the script release the\n * event loop and ANR screen won't appear.\n *\n * @param requests List of requests from the import.\n * @param saved Final list of saved requests\n * @param history Final list of history items.\n */\n async parseRequestsDeffered(\n requests: DexieRequest[],\n saved: RequestProcessItem[] = [],\n history: RequestProcessItem[] = []\n ): Promise<ProcessedRequests> {\n if (requests.length === 0) {\n return {\n saved,\n history,\n }\n }\n const len = Math.min(requests.length, 200)\n // Up to 200 loop iteration at once.\n // Then the function return and release main loop.\n for (let i = 0; i < len; i++) {\n const item = requests[i]\n if (item.type === 'history') {\n const result = this.parseHistoryItem(item)\n history.push(result)\n } else if (item.type === 'saved') {\n const result = this.parseSavedItem(item)\n saved.push(result)\n } else if (item.type === 'drive') {\n const result = this.parseDriveItem(item)\n saved.push(result)\n }\n }\n requests.splice(0, len)\n return this.parseRequestsDeffered(requests, saved, history)\n }\n\n parseHistoryItem(item: DexieRequest): RequestProcessItem {\n const updated = { ...item }\n updated.updateTime = updated.updateTime || Date.now()\n const obj: ExportArcHistoryRequest = {\n key: nanoid(),\n method: updated.method,\n url: updated.url,\n updated: new Date(updated.updateTime).getTime(),\n }\n // payload and headers\n const har = updated._har || updated.har\n const { entries } = har\n const entry = entries[entries.length - 1]\n if (entry) {\n const harRequest = entry.request\n obj.headers = this.parseHarHeaders(harRequest.headers)\n obj.payload = harRequest.postData?.text\n let t = new Date(entry.startedDateTime).getTime()\n if (Number.isNaN(t)) {\n t = Date.now()\n }\n obj.created = t\n } else {\n obj.created = obj.updated\n }\n obj.updated = Date.now()\n return {\n origin: updated.id,\n request: obj,\n }\n }\n\n parseSavedItem(item: DexieRequest): RequestProcessItem {\n const requestName = item.name || item._name\n const obj: ExportArcSavedRequest = {\n name: requestName || '',\n method: item.method,\n url: item.url,\n type: 'saved',\n kind: 'ARC#HttpRequest',\n key: nanoid(),\n }\n // payload and headers\n const harIndex = item.referenceEntry || 0\n const har = item._har || item.har\n if (har) {\n const { entries } = har\n let entry\n if (harIndex || harIndex === 0) {\n entry = entries[harIndex]\n } else {\n ;[entry] = entries\n }\n if (entry) {\n const harRequest = entry.request\n obj.headers = this.parseHarHeaders(harRequest.headers)\n obj.payload = harRequest.postData?.text\n let t = new Date(entry.startedDateTime).getTime()\n if (Number.isNaN(t)) {\n t = Date.now()\n }\n obj.created = t\n }\n }\n obj.updated = Date.now()\n\n return {\n origin: item.id,\n request: obj,\n }\n }\n\n parseDriveItem(item: DexieRequest): RequestProcessItem {\n const result = this.parseSavedItem(item)\n result.request.driveId = item.driveId\n return result\n }\n\n parseHarHeaders(arr: Header[]): string {\n if (!arr || !arr.length) {\n return ''\n }\n return arr.map((item) => `${item.name}: ${item.value}`).join('\\n')\n }\n\n /**\n * Associate requests with project data.\n *\n * @param {ProcessedRequests} data Parsed requests object\n * @param {ProjectItem[]} projects List of projects\n * @return {ProcessedRequests} Parsed requests object\n */\n associateProjects(data: ProcessedRequests, projects: ProjectItem[]): ProcessedRequests {\n if (!projects || !projects.length) {\n return data\n }\n if (!data.saved) {\n data.saved = []\n }\n const savedLen = data.saved.length\n const projectsLen = projects.length\n for (let i = 0; i < projectsLen; i++) {\n const project = projects[i]\n const newProjectId = project.legacyProject.key\n for (let j = 0, rLen = project.updateData.length; j < rLen; j++) {\n const rId = project.updateData[j]\n for (let k = 0; k < savedLen; k++) {\n if (data.saved[k].origin === rId) {\n const { request } = data.saved[k]\n request.key += `/${newProjectId}`\n this.addProjectReference(request as ExportArcSavedRequest, newProjectId)\n this.addRequestReference(project.legacyProject, request.key)\n break\n }\n }\n }\n }\n return data\n }\n}\n"]}
|
|
@@ -114,7 +114,7 @@ export function prepareImportObject(data) {
|
|
|
114
114
|
}
|
|
115
115
|
catch (e) {
|
|
116
116
|
const err = e;
|
|
117
|
-
throw new Error(`Unable to read the file. Not a JSON: ${err.message}
|
|
117
|
+
throw new Error(`Unable to read the file. Not a JSON: ${err.message}`, { cause: e });
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
return data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportUtils.js","sourceRoot":"","sources":["../../../../src/models/transformers/ImportUtils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ImportUtils.js","sourceRoot":"","sources":["../../../../src/models/transformers/ImportUtils.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * User can export single request in ARC. In this case the app opens new tab\n * rather actually imports the data. This function tests if this is the case.\n * @param data Normalized import data\n */\nexport function isSingleRequest(data: Record<string, unknown>): boolean {\n if (!data.requests || !(data.requests as unknown[]).length) {\n return false\n }\n if ((data.requests as unknown[]).length !== 1) {\n return false\n }\n if (data.projects && (data.projects as unknown[]).length === 0) {\n delete data.projects\n }\n if (data.history && (data.history as unknown[]).length === 0) {\n delete data.history\n }\n if (Object.keys(data).length === 4) {\n return true\n }\n return false\n}\n\n/**\n * First export / import system had single request data only. This function checks if given\n * file is from this ancient system.\n *\n * @param object Decoded JSON data.\n */\nexport function isOldImport(object: Record<string, unknown>): boolean {\n if (!(object.projects || object.requests || object.history)) {\n if ('headers' in object && 'url' in object && 'method' in object) {\n return true\n }\n }\n return false\n}\n\n/**\n * Checks if the passed argument is an Object.\n *\n * @param object A value to test.\n */\nexport function isObject(object: unknown): boolean {\n return object !== null && typeof object === 'object' && Object.prototype.toString.call(object) === '[object Object]'\n}\n\n/**\n * Tests if data is a Postman file data\n * @param data Parsed file.\n */\nexport function isPostman(data: Record<string, unknown>): boolean {\n if (data.version && data.collections) {\n return true\n }\n if (data.info && (data.info as Record<string, unknown>).schema) {\n return true\n }\n if (data.folders && data.requests) {\n return true\n }\n if (data._postman_variable_scope) {\n return true\n }\n return false\n}\n\n/**\n * Checks if passed `object` is the ARC export data.\n *\n * @param object A parsed JSON data.\n * @return true if the passed object is an ARC file.\n */\nexport function isArcFile(object: Record<string, unknown>): boolean {\n if (!object || !isObject(object)) {\n return false\n }\n if (typeof object.kind === 'string') {\n if (object.kind.indexOf('ARC#') === 0) {\n return true\n }\n }\n // Old export system does not have kind property.\n // Have to check if it has required properties.\n const arcEntries = [\n 'projects',\n 'requests',\n 'history',\n 'url-history',\n 'websocket-url-history',\n 'variables',\n 'headers-sets',\n 'auth-data',\n 'cookies',\n ]\n for (let i = 0, len = arcEntries.length; i < len; i++) {\n if (arcEntries[i] in object) {\n return true\n }\n }\n if (isOldImport(object)) {\n return true\n }\n return false\n}\n\n/**\n * Parses file data with JSON parser and throws an error if not a JSON.\n * If the passed `data` is JS object it does nothing.\n *\n * @param data File content\n * @return Parsed data.\n */\nexport function prepareImportObject(data: Record<string, unknown> | string): unknown {\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data)\n } catch (e) {\n const err = e as Error\n throw new Error(`Unable to read the file. Not a JSON: ${err.message}`, { cause: e })\n }\n }\n return data\n}\n\n/**\n * Returns a promise resolved after a timeout.\n * @param timeout A timeout to wait.\n */\nexport async function aTimeout(timeout = 0): Promise<void> {\n return new Promise((resolve) => {\n setTimeout(resolve, timeout)\n })\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostmanBackupTransformer.d.ts","sourceRoot":"","sources":["../../../../src/models/transformers/PostmanBackupTransformer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PostmanBackupTransformer.d.ts","sourceRoot":"","sources":["../../../../src/models/transformers/PostmanBackupTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,10 +100,6 @@ export class PostmanBackupTransformer extends PostmanTransformer {
|
|
|
100
100
|
method = this.ensureVariablesSyntax(method);
|
|
101
101
|
let headers = request.headers || '';
|
|
102
102
|
headers = this.ensureVariablesSyntax(headers);
|
|
103
|
-
let createdTime = Number(request.time);
|
|
104
|
-
if (Number.isNaN(createdTime)) {
|
|
105
|
-
createdTime = Date.now();
|
|
106
|
-
}
|
|
107
103
|
const created = current.addRequest(url);
|
|
108
104
|
created.info.name = name;
|
|
109
105
|
if (request.description) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostmanBackupTransformer.js","sourceRoot":"","sources":["../../../../src/models/transformers/PostmanBackupTransformer.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\nimport { PostmanTransformer, dataValue, paramValue } from './PostmanTransformer.js'\nimport { HttpProject, IHttpProject, Kind as HttpProjectKind } from '../HttpProject.js'\nimport { ProjectFolder } from '../ProjectFolder.js'\nimport { ProjectRequest } from '../ProjectRequest.js'\nimport { IMultipartBody } from '../../lib/transformers/PayloadSerializer.js'\nimport { Environment } from '../Environment.js'\nimport { Thing } from '../Thing.js'\n\ninterface PostmanBackupV1 {\n version: number\n collections?: PostmanCollection[]\n environments?: PostmanEnvironment[]\n headerPresets?: PostmanHeadersPreset[]\n globals?: PostmanVariable[]\n}\n\ninterface PostmanCollection {\n id: string\n name: string\n description: string\n order: string[]\n folders?: PostmanFolder[]\n folders_order: string[]\n timestamp: number\n synced: boolean\n remote_id: number\n owner: number\n sharedWithTeam: boolean\n subscribed: boolean\n remoteLink: string\n remoteLinkUpdatedAt: string\n public: boolean\n createdAt: number\n updatedAt: number\n write: boolean\n published: boolean\n favorite: boolean\n requests: PostmanRequest[]\n variables?: PostmanVariable[]\n}\ninterface PostmanRequest {\n id: string\n name: string\n time: number\n headers: string\n url: string\n queryParams: PostmanParameter[]\n headerData: PostmanParameter[]\n pathVariableData: PostmanParameter[]\n preRequestScript: string\n method: string\n collectionId: string\n data: string | PostmanBodyParam[] | null\n dataMode: string\n description: string\n descriptionFormat: string\n version: number\n tests: string\n currentHelper: string\n rawModeData?: string\n}\ninterface PostmanEnvironment {\n id: string\n name: string\n timestamp: number\n synced: boolean\n values: PostmanParameter[]\n}\ninterface PostmanHeadersPreset {\n id: string\n name: string\n headers: PostmanHeader[]\n timestamp: number\n}\n\ninterface PostmanVariable {\n disabled: boolean\n key: string\n value: string\n}\n\ninterface PostmanParameter {\n enabled: boolean\n key: string\n value: string\n type: string\n}\ninterface PostmanBodyParam extends PostmanParameter {\n description: string\n}\ninterface PostmanHeader extends PostmanParameter {\n description: string\n warning: string\n}\ninterface PostmanFolder {\n name: string\n description: string\n collectionId: string\n collection: string\n order: string[]\n owner: number\n folders_order: string[]\n createdAt: number\n updatedAt: number\n id: string\n collection_id: string\n}\n\n/**\n * Transformer for Postman backup file.\n */\nexport class PostmanBackupTransformer extends PostmanTransformer {\n async transform(): Promise<HttpProject[]> {\n const raw = this[dataValue] as PostmanBackupV1\n const result: HttpProject[] = []\n if (!raw.collections) {\n return result\n }\n for (const collection of raw.collections) {\n const project = await this.transformCollection(collection)\n result.push(project)\n }\n return result\n }\n\n async transformCollection(collection: PostmanCollection): Promise<HttpProject> {\n const { folders_order, order } = collection\n const project = this.createProject(collection)\n this.setProjectVariables(project, collection)\n if (Array.isArray(folders_order)) {\n for (const id of folders_order) {\n await this.addFolder(project, collection, id)\n }\n }\n if (Array.isArray(order)) {\n for (const id of order) {\n await this.addRequest(project, collection, id)\n }\n }\n return project\n }\n\n createProject(collection: PostmanCollection): HttpProject {\n const { description, id, name } = collection\n const init: IHttpProject = {\n kind: HttpProjectKind,\n definitions: {},\n info: Thing.fromName(name).toJSON(),\n items: [],\n key: id,\n }\n if (description) {\n init.info.description = description\n }\n const project = new HttpProject(init)\n return project\n }\n\n setProjectVariables(project: HttpProject, collection: PostmanCollection): void {\n const { variables } = collection\n if (!Array.isArray(variables)) {\n return\n }\n const env = Environment.fromName('Default')\n project.addEnvironment(env)\n variables.forEach((param) => {\n const { disabled = false, key, value } = param\n\n const parsed = this.ensureVariablesSyntax(value) as string\n const created = env.addVariable(key, parsed)\n created.enabled = !disabled\n })\n }\n\n async addFolder(current: HttpProject | ProjectFolder, collection: PostmanCollection, id: string): Promise<void> {\n const { folders } = collection\n const folder = folders?.find((i) => i.id === id)\n if (!folder) {\n this.addLog('warning', `Folder ${id} not found in the collection.`)\n return\n }\n const created = current.addFolder(folder.name)\n if (folder.description) {\n created.info.description = folder.description\n }\n if (Array.isArray(folder.folders_order)) {\n for (const id of folder.folders_order) {\n await this.addFolder(created, collection, id)\n }\n }\n if (Array.isArray(folder.order)) {\n for (const id of folder.order) {\n await this.addRequest(created, collection, id)\n }\n }\n }\n\n async addRequest(current: HttpProject | ProjectFolder, collection: PostmanCollection, id: string): Promise<void> {\n const { requests } = collection\n const request = requests?.find((i) => i.id === id)\n if (!request) {\n this.addLog('warning', `Request ${id} not found in the collection.`)\n return\n }\n\n const name = request.name || 'unnamed'\n let url = request.url || 'http://'\n url = this.ensureVariablesSyntax(url) as string\n let method = request.method || 'GET'\n method = this.ensureVariablesSyntax(method) as string\n let headers = request.headers || ''\n headers = this.ensureVariablesSyntax(headers) as string\n\n let createdTime = Number(request.time)\n if (Number.isNaN(createdTime)) {\n createdTime = Date.now()\n }\n\n const created = current.addRequest(url)\n created.info.name = name\n if (request.description) {\n created.info.description = request.description\n }\n created.expects.method = method\n if (headers) {\n created.expects.headers = headers\n }\n\n await this.addRequestBody(created, request)\n }\n\n async addRequestBody(created: ProjectRequest, request: PostmanRequest): Promise<void> {\n switch (request.dataMode) {\n case 'urlencoded':\n return this.addUrlencodedBody(created, request)\n case 'binary':\n return this.addBinaryBody(created, request)\n case 'params':\n return this.addParamsBody(created, request)\n case 'raw':\n return this.addRawBody(created, request)\n }\n }\n\n async addUrlencodedBody(created: ProjectRequest, request: PostmanRequest): Promise<void> {\n if (!Array.isArray(request.data)) {\n return\n }\n const data = request.data as PostmanBodyParam[]\n const body = data.map((i) => `${paramValue(i.key)}=${paramValue(i.value)}`).join('&')\n await created.expects.writePayload(body)\n }\n\n async addBinaryBody(created: ProjectRequest, request: PostmanRequest): Promise<void> {\n // Postman sets the `rawModeData` property with the path to the file\n // but not data itself. Because of that this method is a stub that can be extended\n // by particular implementation (like node, CLI).\n }\n\n async addParamsBody(created: ProjectRequest, request: PostmanRequest): Promise<void> {\n // \"params\" is Postman's FormData implementation.\n // Similarly to the `addBinaryBody()`, file parts carry no data.\n // Override the `addParamsFilePart()` to handle file read from the filesystem.\n if (!Array.isArray(request.data)) {\n return\n }\n const data = request.data as PostmanBodyParam[]\n const body: IMultipartBody[] = []\n for (const part of data) {\n if (part.type === 'text') {\n await this.addParamsTextPart(body, part)\n } else if (part.type === 'file') {\n await this.addParamsFilePart(body, part)\n }\n }\n created.expects.payload = {\n type: 'formdata',\n data: body,\n }\n }\n\n async addParamsTextPart(body: IMultipartBody[], param: PostmanBodyParam): Promise<void> {\n const { key, value, enabled = true } = param\n body.push({\n isFile: false,\n name: key,\n value,\n enabled,\n })\n }\n\n async addParamsFilePart(body: IMultipartBody[], param: PostmanBodyParam): Promise<void> {\n // Postman sets the `value` property with the path to the file\n // but not data itself. Because of that this method is a stub that can be extended\n // by particular implementation (like node, CLI).\n }\n\n async addRawBody(created: ProjectRequest, request: PostmanRequest): Promise<void> {\n const { rawModeData, data } = request\n if (rawModeData && typeof rawModeData === 'string') {\n await created.expects.writePayload(rawModeData)\n } else if (data && typeof data === 'string') {\n await created.expects.writePayload(data)\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"PostmanBackupTransformer.js","sourceRoot":"","sources":["../../../../src/models/transformers/PostmanBackupTransformer.ts"],"names":[],"mappings":"AAAA,sDAAsD;AAEtD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACnF,OAAO,EAAE,WAAW,EAAgB,IAAI,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAItF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAsGnC;;GAEG;AACH,MAAM,OAAO,wBAAyB,SAAQ,kBAAkB;IAC9D,KAAK,CAAC,SAAS;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAoB,CAAA;QAC9C,MAAM,MAAM,GAAkB,EAAE,CAAA;QAChC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,MAAM,CAAA;QACf,CAAC;QACD,KAAK,MAAM,UAAU,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAA;YAC1D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,UAA6B;QACrD,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,UAAU,CAAA;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAC9C,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;YAChD,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,aAAa,CAAC,UAA6B;QACzC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,UAAU,CAAA;QAC5C,MAAM,IAAI,GAAiB;YACzB,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YACnC,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;SACR,CAAA;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QACrC,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAA;QACrC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,mBAAmB,CAAC,OAAoB,EAAE,UAA6B;QACrE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAA;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,OAAM;QACR,CAAC;QACD,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAC3C,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QAC3B,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAW,CAAA;YAC1D,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YAC5C,OAAO,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAA;QAC7B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAoC,EAAE,UAA6B,EAAE,EAAU;QAC7F,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;QAC9B,MAAM,MAAM,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QAChD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,+BAA+B,CAAC,CAAA;YACnE,OAAM;QACR,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;QAC/C,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YACxC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACtC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAoC,EAAE,UAA6B,EAAE,EAAU;QAC9F,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;QAC/B,MAAM,OAAO,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,+BAA+B,CAAC,CAAA;YACpE,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAA;QACtC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,SAAS,CAAA;QAClC,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAW,CAAA;QAC/C,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAA;QACpC,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAW,CAAA;QACrD,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAA;QACnC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAW,CAAA;QAEvD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACvC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QACxB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;QAChD,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;QAC/B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAA;QACnC,CAAC;QAED,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAuB,EAAE,OAAuB;QACnE,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzB,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACjD,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC7C,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC7C,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAuB,EAAE,OAAuB;QACtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAM;QACR,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAA0B,CAAA;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrF,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAuB,EAAE,OAAuB;QAClE,oEAAoE;QACpE,kFAAkF;QAClF,iDAAiD;IACnD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAuB,EAAE,OAAuB;QAClE,iDAAiD;QACjD,gEAAgE;QAChE,8EAA8E;QAC9E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAM;QACR,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAA0B,CAAA;QAC/C,MAAM,IAAI,GAAqB,EAAE,CAAA;QACjC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAC1C,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG;YACxB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,IAAI;SACX,CAAA;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAsB,EAAE,KAAuB;QACrE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;QAC5C,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG;YACT,KAAK;YACL,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAsB,EAAE,KAAuB;QACrE,8DAA8D;QAC9D,kFAAkF;QAClF,iDAAiD;IACnD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAuB,EAAE,OAAuB;QAC/D,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;QACrC,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;QACjD,CAAC;aAAM,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;CACF","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\nimport { PostmanTransformer, dataValue, paramValue } from './PostmanTransformer.js'\nimport { HttpProject, IHttpProject, Kind as HttpProjectKind } from '../HttpProject.js'\nimport { ProjectFolder } from '../ProjectFolder.js'\nimport { ProjectRequest } from '../ProjectRequest.js'\nimport { IMultipartBody } from '../../lib/transformers/PayloadSerializer.js'\nimport { Environment } from '../Environment.js'\nimport { Thing } from '../Thing.js'\n\ninterface PostmanBackupV1 {\n version: number\n collections?: PostmanCollection[]\n environments?: PostmanEnvironment[]\n headerPresets?: PostmanHeadersPreset[]\n globals?: PostmanVariable[]\n}\n\ninterface PostmanCollection {\n id: string\n name: string\n description: string\n order: string[]\n folders?: PostmanFolder[]\n folders_order: string[]\n timestamp: number\n synced: boolean\n remote_id: number\n owner: number\n sharedWithTeam: boolean\n subscribed: boolean\n remoteLink: string\n remoteLinkUpdatedAt: string\n public: boolean\n createdAt: number\n updatedAt: number\n write: boolean\n published: boolean\n favorite: boolean\n requests: PostmanRequest[]\n variables?: PostmanVariable[]\n}\ninterface PostmanRequest {\n id: string\n name: string\n time: number\n headers: string\n url: string\n queryParams: PostmanParameter[]\n headerData: PostmanParameter[]\n pathVariableData: PostmanParameter[]\n preRequestScript: string\n method: string\n collectionId: string\n data: string | PostmanBodyParam[] | null\n dataMode: string\n description: string\n descriptionFormat: string\n version: number\n tests: string\n currentHelper: string\n rawModeData?: string\n}\ninterface PostmanEnvironment {\n id: string\n name: string\n timestamp: number\n synced: boolean\n values: PostmanParameter[]\n}\ninterface PostmanHeadersPreset {\n id: string\n name: string\n headers: PostmanHeader[]\n timestamp: number\n}\n\ninterface PostmanVariable {\n disabled: boolean\n key: string\n value: string\n}\n\ninterface PostmanParameter {\n enabled: boolean\n key: string\n value: string\n type: string\n}\ninterface PostmanBodyParam extends PostmanParameter {\n description: string\n}\ninterface PostmanHeader extends PostmanParameter {\n description: string\n warning: string\n}\ninterface PostmanFolder {\n name: string\n description: string\n collectionId: string\n collection: string\n order: string[]\n owner: number\n folders_order: string[]\n createdAt: number\n updatedAt: number\n id: string\n collection_id: string\n}\n\n/**\n * Transformer for Postman backup file.\n */\nexport class PostmanBackupTransformer extends PostmanTransformer {\n async transform(): Promise<HttpProject[]> {\n const raw = this[dataValue] as PostmanBackupV1\n const result: HttpProject[] = []\n if (!raw.collections) {\n return result\n }\n for (const collection of raw.collections) {\n const project = await this.transformCollection(collection)\n result.push(project)\n }\n return result\n }\n\n async transformCollection(collection: PostmanCollection): Promise<HttpProject> {\n const { folders_order, order } = collection\n const project = this.createProject(collection)\n this.setProjectVariables(project, collection)\n if (Array.isArray(folders_order)) {\n for (const id of folders_order) {\n await this.addFolder(project, collection, id)\n }\n }\n if (Array.isArray(order)) {\n for (const id of order) {\n await this.addRequest(project, collection, id)\n }\n }\n return project\n }\n\n createProject(collection: PostmanCollection): HttpProject {\n const { description, id, name } = collection\n const init: IHttpProject = {\n kind: HttpProjectKind,\n definitions: {},\n info: Thing.fromName(name).toJSON(),\n items: [],\n key: id,\n }\n if (description) {\n init.info.description = description\n }\n const project = new HttpProject(init)\n return project\n }\n\n setProjectVariables(project: HttpProject, collection: PostmanCollection): void {\n const { variables } = collection\n if (!Array.isArray(variables)) {\n return\n }\n const env = Environment.fromName('Default')\n project.addEnvironment(env)\n variables.forEach((param) => {\n const { disabled = false, key, value } = param\n\n const parsed = this.ensureVariablesSyntax(value) as string\n const created = env.addVariable(key, parsed)\n created.enabled = !disabled\n })\n }\n\n async addFolder(current: HttpProject | ProjectFolder, collection: PostmanCollection, id: string): Promise<void> {\n const { folders } = collection\n const folder = folders?.find((i) => i.id === id)\n if (!folder) {\n this.addLog('warning', `Folder ${id} not found in the collection.`)\n return\n }\n const created = current.addFolder(folder.name)\n if (folder.description) {\n created.info.description = folder.description\n }\n if (Array.isArray(folder.folders_order)) {\n for (const id of folder.folders_order) {\n await this.addFolder(created, collection, id)\n }\n }\n if (Array.isArray(folder.order)) {\n for (const id of folder.order) {\n await this.addRequest(created, collection, id)\n }\n }\n }\n\n async addRequest(current: HttpProject | ProjectFolder, collection: PostmanCollection, id: string): Promise<void> {\n const { requests } = collection\n const request = requests?.find((i) => i.id === id)\n if (!request) {\n this.addLog('warning', `Request ${id} not found in the collection.`)\n return\n }\n\n const name = request.name || 'unnamed'\n let url = request.url || 'http://'\n url = this.ensureVariablesSyntax(url) as string\n let method = request.method || 'GET'\n method = this.ensureVariablesSyntax(method) as string\n let headers = request.headers || ''\n headers = this.ensureVariablesSyntax(headers) as string\n\n const created = current.addRequest(url)\n created.info.name = name\n if (request.description) {\n created.info.description = request.description\n }\n created.expects.method = method\n if (headers) {\n created.expects.headers = headers\n }\n\n await this.addRequestBody(created, request)\n }\n\n async addRequestBody(created: ProjectRequest, request: PostmanRequest): Promise<void> {\n switch (request.dataMode) {\n case 'urlencoded':\n return this.addUrlencodedBody(created, request)\n case 'binary':\n return this.addBinaryBody(created, request)\n case 'params':\n return this.addParamsBody(created, request)\n case 'raw':\n return this.addRawBody(created, request)\n }\n }\n\n async addUrlencodedBody(created: ProjectRequest, request: PostmanRequest): Promise<void> {\n if (!Array.isArray(request.data)) {\n return\n }\n const data = request.data as PostmanBodyParam[]\n const body = data.map((i) => `${paramValue(i.key)}=${paramValue(i.value)}`).join('&')\n await created.expects.writePayload(body)\n }\n\n async addBinaryBody(created: ProjectRequest, request: PostmanRequest): Promise<void> {\n // Postman sets the `rawModeData` property with the path to the file\n // but not data itself. Because of that this method is a stub that can be extended\n // by particular implementation (like node, CLI).\n }\n\n async addParamsBody(created: ProjectRequest, request: PostmanRequest): Promise<void> {\n // \"params\" is Postman's FormData implementation.\n // Similarly to the `addBinaryBody()`, file parts carry no data.\n // Override the `addParamsFilePart()` to handle file read from the filesystem.\n if (!Array.isArray(request.data)) {\n return\n }\n const data = request.data as PostmanBodyParam[]\n const body: IMultipartBody[] = []\n for (const part of data) {\n if (part.type === 'text') {\n await this.addParamsTextPart(body, part)\n } else if (part.type === 'file') {\n await this.addParamsFilePart(body, part)\n }\n }\n created.expects.payload = {\n type: 'formdata',\n data: body,\n }\n }\n\n async addParamsTextPart(body: IMultipartBody[], param: PostmanBodyParam): Promise<void> {\n const { key, value, enabled = true } = param\n body.push({\n isFile: false,\n name: key,\n value,\n enabled,\n })\n }\n\n async addParamsFilePart(body: IMultipartBody[], param: PostmanBodyParam): Promise<void> {\n // Postman sets the `value` property with the path to the file\n // but not data itself. Because of that this method is a stub that can be extended\n // by particular implementation (like node, CLI).\n }\n\n async addRawBody(created: ProjectRequest, request: PostmanRequest): Promise<void> {\n const { rawModeData, data } = request\n if (rawModeData && typeof rawModeData === 'string') {\n await created.expects.writePayload(rawModeData)\n } else if (data && typeof data === 'string') {\n await created.expects.writePayload(data)\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const OFFSET_PAGINATION_DEFAULT_LIMIT = 20;
|
|
2
|
+
export declare const OFFSET_PAGINATION_MAX_LIMIT = 100;
|
|
3
|
+
export declare const OFFSET_PAGINATION_MIN_LIMIT = 1;
|
|
4
|
+
export declare const CURSOR_PAGINATION_DEFAULT_LIMIT = 20;
|
|
5
|
+
export declare const CURSOR_PAGINATION_MAX_LIMIT = 100;
|
|
6
|
+
export declare const CURSOR_PAGINATION_MIN_LIMIT = 1;
|
|
7
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/runtime/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,+BAA+B,KAAK,CAAA;AACjD,eAAO,MAAM,2BAA2B,MAAM,CAAA;AAC9C,eAAO,MAAM,2BAA2B,IAAI,CAAA;AAE5C,eAAO,MAAM,+BAA+B,KAAK,CAAA;AACjD,eAAO,MAAM,2BAA2B,MAAM,CAAA;AAC9C,eAAO,MAAM,2BAA2B,IAAI,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// This is shared in the web and node.
|
|
2
|
+
export const OFFSET_PAGINATION_DEFAULT_LIMIT = 20;
|
|
3
|
+
export const OFFSET_PAGINATION_MAX_LIMIT = 100;
|
|
4
|
+
export const OFFSET_PAGINATION_MIN_LIMIT = 1;
|
|
5
|
+
export const CURSOR_PAGINATION_DEFAULT_LIMIT = 20;
|
|
6
|
+
export const CURSOR_PAGINATION_MAX_LIMIT = 100;
|
|
7
|
+
export const CURSOR_PAGINATION_MIN_LIMIT = 1;
|
|
8
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/runtime/constants.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAA;AACjD,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAA;AAC9C,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAA;AAE5C,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAA;AACjD,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAA;AAC9C,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAA","sourcesContent":["// This is shared in the web and node.\n\nexport const OFFSET_PAGINATION_DEFAULT_LIMIT = 20\nexport const OFFSET_PAGINATION_MAX_LIMIT = 100\nexport const OFFSET_PAGINATION_MIN_LIMIT = 1\n\nexport const CURSOR_PAGINATION_DEFAULT_LIMIT = 20\nexport const CURSOR_PAGINATION_MAX_LIMIT = 100\nexport const CURSOR_PAGINATION_MIN_LIMIT = 1\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Des.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/http-engine/ntlm/Des.ts"],"names":[],"mappings":"AAoBA,qBAAa,GAAG;IACd,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"Des.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/http-engine/ntlm/Des.ts"],"names":[],"mappings":"AAoBA,qBAAa,GAAG;IACd,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IA+N9G,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;CA+HzC"}
|
|
@@ -130,6 +130,7 @@ export class Des {
|
|
|
130
130
|
cbcleft =
|
|
131
131
|
(iv.charCodeAt(m++) << 24) | (iv.charCodeAt(m++) << 16) | (iv.charCodeAt(m++) << 8) | iv.charCodeAt(m++);
|
|
132
132
|
cbcright =
|
|
133
|
+
// eslint-disable-next-line no-useless-assignment
|
|
133
134
|
(iv.charCodeAt(m++) << 24) | (iv.charCodeAt(m++) << 16) | (iv.charCodeAt(m++) << 8) | iv.charCodeAt(m++);
|
|
134
135
|
m = 0;
|
|
135
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Des.js","sourceRoot":"","sources":["../../../../../src/runtime/http-engine/ntlm/Des.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/prefer-for-of */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-extraneous-class */\n// Paul Tero, July 2001\n// http://www.tero.co.uk/des/\n//\n// Optimised for performance with large blocks by Michael Hayworth, November 2001\n// http://www.netdealing.com\n//\n// THIS SOFTWARE IS PROVIDED \"AS IS\" AND\n// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n// SUCH DAMAGE.\nexport class Des {\n static des(key: string, message: string, encrypt: number, mode: number, iv?: string, padding?: number): string {\n const spfunction1 = [\n 0x1010400, 0, 0x10000, 0x1010404, 0x1010004, 0x10404, 0x4, 0x10000, 0x400, 0x1010400, 0x1010404, 0x400, 0x1000404,\n 0x1010004, 0x1000000, 0x4, 0x404, 0x1000400, 0x1000400, 0x10400, 0x10400, 0x1010000, 0x1010000, 0x1000404,\n 0x10004, 0x1000004, 0x1000004, 0x10004, 0, 0x404, 0x10404, 0x1000000, 0x10000, 0x1010404, 0x4, 0x1010000,\n 0x1010400, 0x1000000, 0x1000000, 0x400, 0x1010004, 0x10000, 0x10400, 0x1000004, 0x400, 0x4, 0x1000404, 0x10404,\n 0x1010404, 0x10004, 0x1010000, 0x1000404, 0x1000004, 0x404, 0x10404, 0x1010400, 0x404, 0x1000400, 0x1000400, 0,\n 0x10004, 0x10400, 0, 0x1010004,\n ]\n const spfunction2 = [\n -0x7fef7fe0, -0x7fff8000, 0x8000, 0x108020, 0x100000, 0x20, -0x7fefffe0, -0x7fff7fe0, -0x7fffffe0, -0x7fef7fe0,\n -0x7fef8000, -0x80000000, -0x7fff8000, 0x100000, 0x20, -0x7fefffe0, 0x108000, 0x100020, -0x7fff7fe0, 0,\n -0x80000000, 0x8000, 0x108020, -0x7ff00000, 0x100020, -0x7fffffe0, 0, 0x108000, 0x8020, -0x7fef8000, -0x7ff00000,\n 0x8020, 0, 0x108020, -0x7fefffe0, 0x100000, -0x7fff7fe0, -0x7ff00000, -0x7fef8000, 0x8000, -0x7ff00000,\n -0x7fff8000, 0x20, -0x7fef7fe0, 0x108020, 0x20, 0x8000, -0x80000000, 0x8020, -0x7fef8000, 0x100000, -0x7fffffe0,\n 0x100020, -0x7fff7fe0, -0x7fffffe0, 0x100020, 0x108000, 0, -0x7fff8000, 0x8020, -0x80000000, -0x7fefffe0,\n -0x7fef7fe0, 0x108000,\n ]\n const spfunction3 = [\n 0x208, 0x8020200, 0, 0x8020008, 0x8000200, 0, 0x20208, 0x8000200, 0x20008, 0x8000008, 0x8000008, 0x20000,\n 0x8020208, 0x20008, 0x8020000, 0x208, 0x8000000, 0x8, 0x8020200, 0x200, 0x20200, 0x8020000, 0x8020008, 0x20208,\n 0x8000208, 0x20200, 0x20000, 0x8000208, 0x8, 0x8020208, 0x200, 0x8000000, 0x8020200, 0x8000000, 0x20008, 0x208,\n 0x20000, 0x8020200, 0x8000200, 0, 0x200, 0x20008, 0x8020208, 0x8000200, 0x8000008, 0x200, 0, 0x8020008, 0x8000208,\n 0x20000, 0x8000000, 0x8020208, 0x8, 0x20208, 0x20200, 0x8000008, 0x8020000, 0x8000208, 0x208, 0x8020000, 0x20208,\n 0x8, 0x8020008, 0x20200,\n ]\n const spfunction4 = [\n 0x802001, 0x2081, 0x2081, 0x80, 0x802080, 0x800081, 0x800001, 0x2001, 0, 0x802000, 0x802000, 0x802081, 0x81, 0,\n 0x800080, 0x800001, 0x1, 0x2000, 0x800000, 0x802001, 0x80, 0x800000, 0x2001, 0x2080, 0x800081, 0x1, 0x2080,\n 0x800080, 0x2000, 0x802080, 0x802081, 0x81, 0x800080, 0x800001, 0x802000, 0x802081, 0x81, 0, 0, 0x802000, 0x2080,\n 0x800080, 0x800081, 0x1, 0x802001, 0x2081, 0x2081, 0x80, 0x802081, 0x81, 0x1, 0x2000, 0x800001, 0x2001, 0x802080,\n 0x800081, 0x2001, 0x2080, 0x800000, 0x802001, 0x80, 0x800000, 0x2000, 0x802080,\n ]\n const spfunction5 = [\n 0x100, 0x2080100, 0x2080000, 0x42000100, 0x80000, 0x100, 0x40000000, 0x2080000, 0x40080100, 0x80000, 0x2000100,\n 0x40080100, 0x42000100, 0x42080000, 0x80100, 0x40000000, 0x2000000, 0x40080000, 0x40080000, 0, 0x40000100,\n 0x42080100, 0x42080100, 0x2000100, 0x42080000, 0x40000100, 0, 0x42000000, 0x2080100, 0x2000000, 0x42000000,\n 0x80100, 0x80000, 0x42000100, 0x100, 0x2000000, 0x40000000, 0x2080000, 0x42000100, 0x40080100, 0x2000100,\n 0x40000000, 0x42080000, 0x2080100, 0x40080100, 0x100, 0x2000000, 0x42080000, 0x42080100, 0x80100, 0x42000000,\n 0x42080100, 0x2080000, 0, 0x40080000, 0x42000000, 0x80100, 0x2000100, 0x40000100, 0x80000, 0, 0x40080000,\n 0x2080100, 0x40000100,\n ]\n const spfunction6 = [\n 0x20000010, 0x20400000, 0x4000, 0x20404010, 0x20400000, 0x10, 0x20404010, 0x400000, 0x20004000, 0x404010,\n 0x400000, 0x20000010, 0x400010, 0x20004000, 0x20000000, 0x4010, 0, 0x400010, 0x20004010, 0x4000, 0x404000,\n 0x20004010, 0x10, 0x20400010, 0x20400010, 0, 0x404010, 0x20404000, 0x4010, 0x404000, 0x20404000, 0x20000000,\n 0x20004000, 0x10, 0x20400010, 0x404000, 0x20404010, 0x400000, 0x4010, 0x20000010, 0x400000, 0x20004000,\n 0x20000000, 0x4010, 0x20000010, 0x20404010, 0x404000, 0x20400000, 0x404010, 0x20404000, 0, 0x20400010, 0x10,\n 0x4000, 0x20400000, 0x404010, 0x4000, 0x400010, 0x20004010, 0, 0x20404000, 0x20000000, 0x400010, 0x20004010,\n ]\n const spfunction7 = [\n 0x200000, 0x4200002, 0x4000802, 0, 0x800, 0x4000802, 0x200802, 0x4200800, 0x4200802, 0x200000, 0, 0x4000002, 0x2,\n 0x4000000, 0x4200002, 0x802, 0x4000800, 0x200802, 0x200002, 0x4000800, 0x4000002, 0x4200000, 0x4200800, 0x200002,\n 0x4200000, 0x800, 0x802, 0x4200802, 0x200800, 0x2, 0x4000000, 0x200800, 0x4000000, 0x200800, 0x200000, 0x4000802,\n 0x4000802, 0x4200002, 0x4200002, 0x2, 0x200002, 0x4000000, 0x4000800, 0x200000, 0x4200800, 0x802, 0x200802,\n 0x4200800, 0x802, 0x4000002, 0x4200802, 0x4200000, 0x200800, 0, 0x2, 0x4200802, 0, 0x200802, 0x4200000, 0x800,\n 0x4000002, 0x4000800, 0x800, 0x200002,\n ]\n const spfunction8 = [\n 0x10001040, 0x1000, 0x40000, 0x10041040, 0x10000000, 0x10001040, 0x40, 0x10000000, 0x40040, 0x10040000,\n 0x10041040, 0x41000, 0x10041000, 0x41040, 0x1000, 0x40, 0x10040000, 0x10000040, 0x10001000, 0x1040, 0x41000,\n 0x40040, 0x10040040, 0x10041000, 0x1040, 0, 0, 0x10040040, 0x10000040, 0x10001000, 0x41040, 0x40000, 0x41040,\n 0x40000, 0x10041000, 0x1000, 0x40, 0x10040040, 0x1000, 0x41040, 0x10001000, 0x40, 0x10000040, 0x10040000,\n 0x10040040, 0x10000000, 0x40000, 0x10001040, 0, 0x10041040, 0x40040, 0x10000040, 0x10040000, 0x10001000,\n 0x10001040, 0, 0x10041040, 0x41000, 0x41000, 0x1040, 0x1040, 0x40040, 0x10000000, 0x10041000,\n ]\n\n // create the 16 or 48 subkeys we will need\n const keys = Des.createKeys(key)\n let m = 0\n let i\n let j\n let temp\n let right1\n let right2\n let left\n let right\n let looping\n let cbcleft\n let cbcleft2\n let cbcright\n let cbcright2\n let endloop\n let loopinc\n let len = message.length\n let chunk = 0\n const iterations = keys.length === 32 ? 3 : 9\n if (iterations === 3) {\n looping = encrypt ? [0, 32, 2] : [30, -2, -2]\n } else {\n looping = encrypt ? [0, 32, 2, 62, 30, -2, 64, 96, 2] : [94, 62, -2, 32, 64, 2, 30, -2, -2]\n }\n if (padding === 2) {\n message += ' '\n } else if (padding === 1) {\n temp = 8 - (len % 8)\n message += String.fromCharCode(temp, temp, temp, temp, temp, temp, temp, temp)\n if (temp === 8) {\n len += 8\n }\n } else if (!padding) {\n message += '\\0\\0\\0\\0\\0\\0\\0\\0'\n }\n let result = ''\n let tempresult = ''\n if (mode === 1) {\n cbcleft =\n (iv!.charCodeAt(m++) << 24) | (iv!.charCodeAt(m++) << 16) | (iv!.charCodeAt(m++) << 8) | iv!.charCodeAt(m++)\n cbcright =\n (iv!.charCodeAt(m++) << 24) | (iv!.charCodeAt(m++) << 16) | (iv!.charCodeAt(m++) << 8) | iv!.charCodeAt(m++)\n m = 0\n }\n while (m < len) {\n left =\n (message.charCodeAt(m++) << 24) |\n (message.charCodeAt(m++) << 16) |\n (message.charCodeAt(m++) << 8) |\n message.charCodeAt(m++)\n right =\n (message.charCodeAt(m++) << 24) |\n (message.charCodeAt(m++) << 16) |\n (message.charCodeAt(m++) << 8) |\n message.charCodeAt(m++)\n if (mode === 1) {\n if (encrypt) {\n left ^= cbcleft as number\n right ^= cbcright as number\n } else {\n cbcleft2 = cbcleft\n cbcright2 = cbcright\n cbcleft = left\n cbcright = right\n }\n }\n temp = ((left >>> 4) ^ right) & 0x0f0f0f0f\n right ^= temp\n left ^= temp << 4\n temp = ((left >>> 16) ^ right) & 0x0000ffff\n right ^= temp\n left ^= temp << 16\n temp = ((right >>> 2) ^ left) & 0x33333333\n left ^= temp\n right ^= temp << 2\n temp = ((right >>> 8) ^ left) & 0x00ff00ff\n left ^= temp\n right ^= temp << 8\n temp = ((left >>> 1) ^ right) & 0x55555555\n right ^= temp\n left ^= temp << 1\n\n left = (left << 1) | (left >>> 31)\n right = (right << 1) | (right >>> 31)\n for (j = 0; j < iterations; j += 3) {\n endloop = looping[j + 1]\n loopinc = looping[j + 2]\n for (i = looping[j]; i !== endloop; i += loopinc) {\n right1 = right ^ keys[i]\n right2 = ((right >>> 4) | (right << 28)) ^ keys[i + 1]\n temp = left\n left = right\n right =\n temp ^\n (spfunction2[(right1 >>> 24) & 0x3f] |\n spfunction4[(right1 >>> 16) & 0x3f] |\n spfunction6[(right1 >>> 8) & 0x3f] |\n spfunction8[right1 & 0x3f] |\n spfunction1[(right2 >>> 24) & 0x3f] |\n spfunction3[(right2 >>> 16) & 0x3f] |\n spfunction5[(right2 >>> 8) & 0x3f] |\n spfunction7[right2 & 0x3f])\n }\n temp = left\n left = right\n right = temp\n }\n left = (left >>> 1) | (left << 31)\n right = (right >>> 1) | (right << 31)\n temp = ((left >>> 1) ^ right) & 0x55555555\n right ^= temp\n left ^= temp << 1\n temp = ((right >>> 8) ^ left) & 0x00ff00ff\n left ^= temp\n right ^= temp << 8\n temp = ((right >>> 2) ^ left) & 0x33333333\n left ^= temp\n right ^= temp << 2\n temp = ((left >>> 16) ^ right) & 0x0000ffff\n right ^= temp\n left ^= temp << 16\n temp = ((left >>> 4) ^ right) & 0x0f0f0f0f\n right ^= temp\n left ^= temp << 4\n if (mode === 1) {\n if (encrypt) {\n cbcleft = left\n cbcright = right\n } else {\n left ^= cbcleft2 as number\n right ^= cbcright2 as number\n }\n }\n tempresult += String.fromCharCode(\n left >>> 24,\n (left >>> 16) & 0xff,\n (left >>> 8) & 0xff,\n left & 0xff,\n right >>> 24,\n (right >>> 16) & 0xff,\n (right >>> 8) & 0xff,\n right & 0xff\n )\n\n chunk += 8\n if (chunk === 512) {\n result += tempresult\n tempresult = ''\n chunk = 0\n }\n }\n return result + tempresult\n }\n\n static createKeys(key: string): number[] {\n const pc2bytes0 = [\n 0, 0x4, 0x20000000, 0x20000004, 0x10000, 0x10004, 0x20010000, 0x20010004, 0x200, 0x204, 0x20000200, 0x20000204,\n 0x10200, 0x10204, 0x20010200, 0x20010204,\n ]\n const pc2bytes1 = [\n 0, 0x1, 0x100000, 0x100001, 0x4000000, 0x4000001, 0x4100000, 0x4100001, 0x100, 0x101, 0x100100, 0x100101,\n 0x4000100, 0x4000101, 0x4100100, 0x4100101,\n ]\n const pc2bytes2 = [\n 0, 0x8, 0x800, 0x808, 0x1000000, 0x1000008, 0x1000800, 0x1000808, 0, 0x8, 0x800, 0x808, 0x1000000, 0x1000008,\n 0x1000800, 0x1000808,\n ]\n const pc2bytes3 = [\n 0, 0x200000, 0x8000000, 0x8200000, 0x2000, 0x202000, 0x8002000, 0x8202000, 0x20000, 0x220000, 0x8020000,\n 0x8220000, 0x22000, 0x222000, 0x8022000, 0x8222000,\n ]\n const pc2bytes4 = [\n 0, 0x40000, 0x10, 0x40010, 0, 0x40000, 0x10, 0x40010, 0x1000, 0x41000, 0x1010, 0x41010, 0x1000, 0x41000, 0x1010,\n 0x41010,\n ]\n const pc2bytes5 = [\n 0, 0x400, 0x20, 0x420, 0, 0x400, 0x20, 0x420, 0x2000000, 0x2000400, 0x2000020, 0x2000420, 0x2000000, 0x2000400,\n 0x2000020, 0x2000420,\n ]\n const pc2bytes6 = [\n 0, 0x10000000, 0x80000, 0x10080000, 0x2, 0x10000002, 0x80002, 0x10080002, 0, 0x10000000, 0x80000, 0x10080000, 0x2,\n 0x10000002, 0x80002, 0x10080002,\n ]\n const pc2bytes7 = [\n 0, 0x10000, 0x800, 0x10800, 0x20000000, 0x20010000, 0x20000800, 0x20010800, 0x20000, 0x30000, 0x20800, 0x30800,\n 0x20020000, 0x20030000, 0x20020800, 0x20030800,\n ]\n const pc2bytes8 = [\n 0, 0x40000, 0, 0x40000, 0x2, 0x40002, 0x2, 0x40002, 0x2000000, 0x2040000, 0x2000000, 0x2040000, 0x2000002,\n 0x2040002, 0x2000002, 0x2040002,\n ]\n const pc2bytes9 = [\n 0, 0x10000000, 0x8, 0x10000008, 0, 0x10000000, 0x8, 0x10000008, 0x400, 0x10000400, 0x408, 0x10000408, 0x400,\n 0x10000400, 0x408, 0x10000408,\n ]\n const pc2bytes10 = [\n 0, 0x20, 0, 0x20, 0x100000, 0x100020, 0x100000, 0x100020, 0x2000, 0x2020, 0x2000, 0x2020, 0x102000, 0x102020,\n 0x102000, 0x102020,\n ]\n const pc2bytes11 = [\n 0, 0x1000000, 0x200, 0x1000200, 0x200000, 0x1200000, 0x200200, 0x1200200, 0x4000000, 0x5000000, 0x4000200,\n 0x5000200, 0x4200000, 0x5200000, 0x4200200, 0x5200200,\n ]\n const pc2bytes12 = [\n 0, 0x1000, 0x8000000, 0x8001000, 0x80000, 0x81000, 0x8080000, 0x8081000, 0x10, 0x1010, 0x8000010, 0x8001010,\n 0x80010, 0x81010, 0x8080010, 0x8081010,\n ]\n const pc2bytes13 = [0, 0x4, 0x100, 0x104, 0, 0x4, 0x100, 0x104, 0x1, 0x5, 0x101, 0x105, 0x1, 0x5, 0x101, 0x105]\n\n const iterations = key.length > 8 ? 3 : 1\n const keys: number[] = new Array(32 * iterations)\n const shifts = [0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0]\n let lefttemp\n let righttemp\n let m = 0\n let n = 0\n let temp\n\n for (let j = 0; j < iterations; j++) {\n let left =\n (key.charCodeAt(m++) << 24) | (key.charCodeAt(m++) << 16) | (key.charCodeAt(m++) << 8) | key.charCodeAt(m++)\n let right =\n (key.charCodeAt(m++) << 24) | (key.charCodeAt(m++) << 16) | (key.charCodeAt(m++) << 8) | key.charCodeAt(m++)\n\n temp = ((left >>> 4) ^ right) & 0x0f0f0f0f\n right ^= temp\n left ^= temp << 4\n temp = ((right >>> -16) ^ left) & 0x0000ffff\n left ^= temp\n right ^= temp << -16\n temp = ((left >>> 2) ^ right) & 0x33333333\n right ^= temp\n left ^= temp << 2\n temp = ((right >>> -16) ^ left) & 0x0000ffff\n left ^= temp\n right ^= temp << -16\n temp = ((left >>> 1) ^ right) & 0x55555555\n right ^= temp\n left ^= temp << 1\n temp = ((right >>> 8) ^ left) & 0x00ff00ff\n left ^= temp\n right ^= temp << 8\n temp = ((left >>> 1) ^ right) & 0x55555555\n right ^= temp\n left ^= temp << 1\n temp = (left << 8) | ((right >>> 20) & 0x000000f0)\n left = (right << 24) | ((right << 8) & 0xff0000) | ((right >>> 8) & 0xff00) | ((right >>> 24) & 0xf0)\n right = temp\n for (let i = 0; i < shifts.length; i++) {\n if (shifts[i]) {\n left = (left << 2) | (left >>> 26)\n right = (right << 2) | (right >>> 26)\n } else {\n left = (left << 1) | (left >>> 27)\n right = (right << 1) | (right >>> 27)\n }\n left &= -0xf\n right &= -0xf\n lefttemp =\n pc2bytes0[left >>> 28] |\n pc2bytes1[(left >>> 24) & 0xf] |\n pc2bytes2[(left >>> 20) & 0xf] |\n pc2bytes3[(left >>> 16) & 0xf] |\n pc2bytes4[(left >>> 12) & 0xf] |\n pc2bytes5[(left >>> 8) & 0xf] |\n pc2bytes6[(left >>> 4) & 0xf]\n righttemp =\n pc2bytes7[right >>> 28] |\n pc2bytes8[(right >>> 24) & 0xf] |\n pc2bytes9[(right >>> 20) & 0xf] |\n pc2bytes10[(right >>> 16) & 0xf] |\n pc2bytes11[(right >>> 12) & 0xf] |\n pc2bytes12[(right >>> 8) & 0xf] |\n pc2bytes13[(right >>> 4) & 0xf]\n temp = ((righttemp >>> 16) ^ lefttemp) & 0x0000ffff\n keys[n++] = lefttemp ^ temp\n keys[n++] = righttemp ^ (temp << 16)\n }\n }\n return keys\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Des.js","sourceRoot":"","sources":["../../../../../src/runtime/http-engine/ntlm/Des.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/prefer-for-of */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-extraneous-class */\n// Paul Tero, July 2001\n// http://www.tero.co.uk/des/\n//\n// Optimised for performance with large blocks by Michael Hayworth, November 2001\n// http://www.netdealing.com\n//\n// THIS SOFTWARE IS PROVIDED \"AS IS\" AND\n// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n// SUCH DAMAGE.\nexport class Des {\n static des(key: string, message: string, encrypt: number, mode: number, iv?: string, padding?: number): string {\n const spfunction1 = [\n 0x1010400, 0, 0x10000, 0x1010404, 0x1010004, 0x10404, 0x4, 0x10000, 0x400, 0x1010400, 0x1010404, 0x400, 0x1000404,\n 0x1010004, 0x1000000, 0x4, 0x404, 0x1000400, 0x1000400, 0x10400, 0x10400, 0x1010000, 0x1010000, 0x1000404,\n 0x10004, 0x1000004, 0x1000004, 0x10004, 0, 0x404, 0x10404, 0x1000000, 0x10000, 0x1010404, 0x4, 0x1010000,\n 0x1010400, 0x1000000, 0x1000000, 0x400, 0x1010004, 0x10000, 0x10400, 0x1000004, 0x400, 0x4, 0x1000404, 0x10404,\n 0x1010404, 0x10004, 0x1010000, 0x1000404, 0x1000004, 0x404, 0x10404, 0x1010400, 0x404, 0x1000400, 0x1000400, 0,\n 0x10004, 0x10400, 0, 0x1010004,\n ]\n const spfunction2 = [\n -0x7fef7fe0, -0x7fff8000, 0x8000, 0x108020, 0x100000, 0x20, -0x7fefffe0, -0x7fff7fe0, -0x7fffffe0, -0x7fef7fe0,\n -0x7fef8000, -0x80000000, -0x7fff8000, 0x100000, 0x20, -0x7fefffe0, 0x108000, 0x100020, -0x7fff7fe0, 0,\n -0x80000000, 0x8000, 0x108020, -0x7ff00000, 0x100020, -0x7fffffe0, 0, 0x108000, 0x8020, -0x7fef8000, -0x7ff00000,\n 0x8020, 0, 0x108020, -0x7fefffe0, 0x100000, -0x7fff7fe0, -0x7ff00000, -0x7fef8000, 0x8000, -0x7ff00000,\n -0x7fff8000, 0x20, -0x7fef7fe0, 0x108020, 0x20, 0x8000, -0x80000000, 0x8020, -0x7fef8000, 0x100000, -0x7fffffe0,\n 0x100020, -0x7fff7fe0, -0x7fffffe0, 0x100020, 0x108000, 0, -0x7fff8000, 0x8020, -0x80000000, -0x7fefffe0,\n -0x7fef7fe0, 0x108000,\n ]\n const spfunction3 = [\n 0x208, 0x8020200, 0, 0x8020008, 0x8000200, 0, 0x20208, 0x8000200, 0x20008, 0x8000008, 0x8000008, 0x20000,\n 0x8020208, 0x20008, 0x8020000, 0x208, 0x8000000, 0x8, 0x8020200, 0x200, 0x20200, 0x8020000, 0x8020008, 0x20208,\n 0x8000208, 0x20200, 0x20000, 0x8000208, 0x8, 0x8020208, 0x200, 0x8000000, 0x8020200, 0x8000000, 0x20008, 0x208,\n 0x20000, 0x8020200, 0x8000200, 0, 0x200, 0x20008, 0x8020208, 0x8000200, 0x8000008, 0x200, 0, 0x8020008, 0x8000208,\n 0x20000, 0x8000000, 0x8020208, 0x8, 0x20208, 0x20200, 0x8000008, 0x8020000, 0x8000208, 0x208, 0x8020000, 0x20208,\n 0x8, 0x8020008, 0x20200,\n ]\n const spfunction4 = [\n 0x802001, 0x2081, 0x2081, 0x80, 0x802080, 0x800081, 0x800001, 0x2001, 0, 0x802000, 0x802000, 0x802081, 0x81, 0,\n 0x800080, 0x800001, 0x1, 0x2000, 0x800000, 0x802001, 0x80, 0x800000, 0x2001, 0x2080, 0x800081, 0x1, 0x2080,\n 0x800080, 0x2000, 0x802080, 0x802081, 0x81, 0x800080, 0x800001, 0x802000, 0x802081, 0x81, 0, 0, 0x802000, 0x2080,\n 0x800080, 0x800081, 0x1, 0x802001, 0x2081, 0x2081, 0x80, 0x802081, 0x81, 0x1, 0x2000, 0x800001, 0x2001, 0x802080,\n 0x800081, 0x2001, 0x2080, 0x800000, 0x802001, 0x80, 0x800000, 0x2000, 0x802080,\n ]\n const spfunction5 = [\n 0x100, 0x2080100, 0x2080000, 0x42000100, 0x80000, 0x100, 0x40000000, 0x2080000, 0x40080100, 0x80000, 0x2000100,\n 0x40080100, 0x42000100, 0x42080000, 0x80100, 0x40000000, 0x2000000, 0x40080000, 0x40080000, 0, 0x40000100,\n 0x42080100, 0x42080100, 0x2000100, 0x42080000, 0x40000100, 0, 0x42000000, 0x2080100, 0x2000000, 0x42000000,\n 0x80100, 0x80000, 0x42000100, 0x100, 0x2000000, 0x40000000, 0x2080000, 0x42000100, 0x40080100, 0x2000100,\n 0x40000000, 0x42080000, 0x2080100, 0x40080100, 0x100, 0x2000000, 0x42080000, 0x42080100, 0x80100, 0x42000000,\n 0x42080100, 0x2080000, 0, 0x40080000, 0x42000000, 0x80100, 0x2000100, 0x40000100, 0x80000, 0, 0x40080000,\n 0x2080100, 0x40000100,\n ]\n const spfunction6 = [\n 0x20000010, 0x20400000, 0x4000, 0x20404010, 0x20400000, 0x10, 0x20404010, 0x400000, 0x20004000, 0x404010,\n 0x400000, 0x20000010, 0x400010, 0x20004000, 0x20000000, 0x4010, 0, 0x400010, 0x20004010, 0x4000, 0x404000,\n 0x20004010, 0x10, 0x20400010, 0x20400010, 0, 0x404010, 0x20404000, 0x4010, 0x404000, 0x20404000, 0x20000000,\n 0x20004000, 0x10, 0x20400010, 0x404000, 0x20404010, 0x400000, 0x4010, 0x20000010, 0x400000, 0x20004000,\n 0x20000000, 0x4010, 0x20000010, 0x20404010, 0x404000, 0x20400000, 0x404010, 0x20404000, 0, 0x20400010, 0x10,\n 0x4000, 0x20400000, 0x404010, 0x4000, 0x400010, 0x20004010, 0, 0x20404000, 0x20000000, 0x400010, 0x20004010,\n ]\n const spfunction7 = [\n 0x200000, 0x4200002, 0x4000802, 0, 0x800, 0x4000802, 0x200802, 0x4200800, 0x4200802, 0x200000, 0, 0x4000002, 0x2,\n 0x4000000, 0x4200002, 0x802, 0x4000800, 0x200802, 0x200002, 0x4000800, 0x4000002, 0x4200000, 0x4200800, 0x200002,\n 0x4200000, 0x800, 0x802, 0x4200802, 0x200800, 0x2, 0x4000000, 0x200800, 0x4000000, 0x200800, 0x200000, 0x4000802,\n 0x4000802, 0x4200002, 0x4200002, 0x2, 0x200002, 0x4000000, 0x4000800, 0x200000, 0x4200800, 0x802, 0x200802,\n 0x4200800, 0x802, 0x4000002, 0x4200802, 0x4200000, 0x200800, 0, 0x2, 0x4200802, 0, 0x200802, 0x4200000, 0x800,\n 0x4000002, 0x4000800, 0x800, 0x200002,\n ]\n const spfunction8 = [\n 0x10001040, 0x1000, 0x40000, 0x10041040, 0x10000000, 0x10001040, 0x40, 0x10000000, 0x40040, 0x10040000,\n 0x10041040, 0x41000, 0x10041000, 0x41040, 0x1000, 0x40, 0x10040000, 0x10000040, 0x10001000, 0x1040, 0x41000,\n 0x40040, 0x10040040, 0x10041000, 0x1040, 0, 0, 0x10040040, 0x10000040, 0x10001000, 0x41040, 0x40000, 0x41040,\n 0x40000, 0x10041000, 0x1000, 0x40, 0x10040040, 0x1000, 0x41040, 0x10001000, 0x40, 0x10000040, 0x10040000,\n 0x10040040, 0x10000000, 0x40000, 0x10001040, 0, 0x10041040, 0x40040, 0x10000040, 0x10040000, 0x10001000,\n 0x10001040, 0, 0x10041040, 0x41000, 0x41000, 0x1040, 0x1040, 0x40040, 0x10000000, 0x10041000,\n ]\n\n // create the 16 or 48 subkeys we will need\n const keys = Des.createKeys(key)\n let m = 0\n let i\n let j\n let temp\n let right1\n let right2\n let left\n let right\n let looping\n let cbcleft\n let cbcleft2\n let cbcright\n let cbcright2\n let endloop\n let loopinc\n let len = message.length\n let chunk = 0\n const iterations = keys.length === 32 ? 3 : 9\n if (iterations === 3) {\n looping = encrypt ? [0, 32, 2] : [30, -2, -2]\n } else {\n looping = encrypt ? [0, 32, 2, 62, 30, -2, 64, 96, 2] : [94, 62, -2, 32, 64, 2, 30, -2, -2]\n }\n if (padding === 2) {\n message += ' '\n } else if (padding === 1) {\n temp = 8 - (len % 8)\n message += String.fromCharCode(temp, temp, temp, temp, temp, temp, temp, temp)\n if (temp === 8) {\n len += 8\n }\n } else if (!padding) {\n message += '\\0\\0\\0\\0\\0\\0\\0\\0'\n }\n let result = ''\n let tempresult = ''\n if (mode === 1) {\n cbcleft =\n (iv!.charCodeAt(m++) << 24) | (iv!.charCodeAt(m++) << 16) | (iv!.charCodeAt(m++) << 8) | iv!.charCodeAt(m++)\n cbcright =\n // eslint-disable-next-line no-useless-assignment\n (iv!.charCodeAt(m++) << 24) | (iv!.charCodeAt(m++) << 16) | (iv!.charCodeAt(m++) << 8) | iv!.charCodeAt(m++)\n m = 0\n }\n while (m < len) {\n left =\n (message.charCodeAt(m++) << 24) |\n (message.charCodeAt(m++) << 16) |\n (message.charCodeAt(m++) << 8) |\n message.charCodeAt(m++)\n right =\n (message.charCodeAt(m++) << 24) |\n (message.charCodeAt(m++) << 16) |\n (message.charCodeAt(m++) << 8) |\n message.charCodeAt(m++)\n if (mode === 1) {\n if (encrypt) {\n left ^= cbcleft as number\n right ^= cbcright as number\n } else {\n cbcleft2 = cbcleft\n cbcright2 = cbcright\n cbcleft = left\n cbcright = right\n }\n }\n temp = ((left >>> 4) ^ right) & 0x0f0f0f0f\n right ^= temp\n left ^= temp << 4\n temp = ((left >>> 16) ^ right) & 0x0000ffff\n right ^= temp\n left ^= temp << 16\n temp = ((right >>> 2) ^ left) & 0x33333333\n left ^= temp\n right ^= temp << 2\n temp = ((right >>> 8) ^ left) & 0x00ff00ff\n left ^= temp\n right ^= temp << 8\n temp = ((left >>> 1) ^ right) & 0x55555555\n right ^= temp\n left ^= temp << 1\n\n left = (left << 1) | (left >>> 31)\n right = (right << 1) | (right >>> 31)\n for (j = 0; j < iterations; j += 3) {\n endloop = looping[j + 1]\n loopinc = looping[j + 2]\n for (i = looping[j]; i !== endloop; i += loopinc) {\n right1 = right ^ keys[i]\n right2 = ((right >>> 4) | (right << 28)) ^ keys[i + 1]\n temp = left\n left = right\n right =\n temp ^\n (spfunction2[(right1 >>> 24) & 0x3f] |\n spfunction4[(right1 >>> 16) & 0x3f] |\n spfunction6[(right1 >>> 8) & 0x3f] |\n spfunction8[right1 & 0x3f] |\n spfunction1[(right2 >>> 24) & 0x3f] |\n spfunction3[(right2 >>> 16) & 0x3f] |\n spfunction5[(right2 >>> 8) & 0x3f] |\n spfunction7[right2 & 0x3f])\n }\n temp = left\n left = right\n right = temp\n }\n left = (left >>> 1) | (left << 31)\n right = (right >>> 1) | (right << 31)\n temp = ((left >>> 1) ^ right) & 0x55555555\n right ^= temp\n left ^= temp << 1\n temp = ((right >>> 8) ^ left) & 0x00ff00ff\n left ^= temp\n right ^= temp << 8\n temp = ((right >>> 2) ^ left) & 0x33333333\n left ^= temp\n right ^= temp << 2\n temp = ((left >>> 16) ^ right) & 0x0000ffff\n right ^= temp\n left ^= temp << 16\n temp = ((left >>> 4) ^ right) & 0x0f0f0f0f\n right ^= temp\n left ^= temp << 4\n if (mode === 1) {\n if (encrypt) {\n cbcleft = left\n cbcright = right\n } else {\n left ^= cbcleft2 as number\n right ^= cbcright2 as number\n }\n }\n tempresult += String.fromCharCode(\n left >>> 24,\n (left >>> 16) & 0xff,\n (left >>> 8) & 0xff,\n left & 0xff,\n right >>> 24,\n (right >>> 16) & 0xff,\n (right >>> 8) & 0xff,\n right & 0xff\n )\n\n chunk += 8\n if (chunk === 512) {\n result += tempresult\n tempresult = ''\n chunk = 0\n }\n }\n return result + tempresult\n }\n\n static createKeys(key: string): number[] {\n const pc2bytes0 = [\n 0, 0x4, 0x20000000, 0x20000004, 0x10000, 0x10004, 0x20010000, 0x20010004, 0x200, 0x204, 0x20000200, 0x20000204,\n 0x10200, 0x10204, 0x20010200, 0x20010204,\n ]\n const pc2bytes1 = [\n 0, 0x1, 0x100000, 0x100001, 0x4000000, 0x4000001, 0x4100000, 0x4100001, 0x100, 0x101, 0x100100, 0x100101,\n 0x4000100, 0x4000101, 0x4100100, 0x4100101,\n ]\n const pc2bytes2 = [\n 0, 0x8, 0x800, 0x808, 0x1000000, 0x1000008, 0x1000800, 0x1000808, 0, 0x8, 0x800, 0x808, 0x1000000, 0x1000008,\n 0x1000800, 0x1000808,\n ]\n const pc2bytes3 = [\n 0, 0x200000, 0x8000000, 0x8200000, 0x2000, 0x202000, 0x8002000, 0x8202000, 0x20000, 0x220000, 0x8020000,\n 0x8220000, 0x22000, 0x222000, 0x8022000, 0x8222000,\n ]\n const pc2bytes4 = [\n 0, 0x40000, 0x10, 0x40010, 0, 0x40000, 0x10, 0x40010, 0x1000, 0x41000, 0x1010, 0x41010, 0x1000, 0x41000, 0x1010,\n 0x41010,\n ]\n const pc2bytes5 = [\n 0, 0x400, 0x20, 0x420, 0, 0x400, 0x20, 0x420, 0x2000000, 0x2000400, 0x2000020, 0x2000420, 0x2000000, 0x2000400,\n 0x2000020, 0x2000420,\n ]\n const pc2bytes6 = [\n 0, 0x10000000, 0x80000, 0x10080000, 0x2, 0x10000002, 0x80002, 0x10080002, 0, 0x10000000, 0x80000, 0x10080000, 0x2,\n 0x10000002, 0x80002, 0x10080002,\n ]\n const pc2bytes7 = [\n 0, 0x10000, 0x800, 0x10800, 0x20000000, 0x20010000, 0x20000800, 0x20010800, 0x20000, 0x30000, 0x20800, 0x30800,\n 0x20020000, 0x20030000, 0x20020800, 0x20030800,\n ]\n const pc2bytes8 = [\n 0, 0x40000, 0, 0x40000, 0x2, 0x40002, 0x2, 0x40002, 0x2000000, 0x2040000, 0x2000000, 0x2040000, 0x2000002,\n 0x2040002, 0x2000002, 0x2040002,\n ]\n const pc2bytes9 = [\n 0, 0x10000000, 0x8, 0x10000008, 0, 0x10000000, 0x8, 0x10000008, 0x400, 0x10000400, 0x408, 0x10000408, 0x400,\n 0x10000400, 0x408, 0x10000408,\n ]\n const pc2bytes10 = [\n 0, 0x20, 0, 0x20, 0x100000, 0x100020, 0x100000, 0x100020, 0x2000, 0x2020, 0x2000, 0x2020, 0x102000, 0x102020,\n 0x102000, 0x102020,\n ]\n const pc2bytes11 = [\n 0, 0x1000000, 0x200, 0x1000200, 0x200000, 0x1200000, 0x200200, 0x1200200, 0x4000000, 0x5000000, 0x4000200,\n 0x5000200, 0x4200000, 0x5200000, 0x4200200, 0x5200200,\n ]\n const pc2bytes12 = [\n 0, 0x1000, 0x8000000, 0x8001000, 0x80000, 0x81000, 0x8080000, 0x8081000, 0x10, 0x1010, 0x8000010, 0x8001010,\n 0x80010, 0x81010, 0x8080010, 0x8081010,\n ]\n const pc2bytes13 = [0, 0x4, 0x100, 0x104, 0, 0x4, 0x100, 0x104, 0x1, 0x5, 0x101, 0x105, 0x1, 0x5, 0x101, 0x105]\n\n const iterations = key.length > 8 ? 3 : 1\n const keys: number[] = new Array(32 * iterations)\n const shifts = [0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0]\n let lefttemp\n let righttemp\n let m = 0\n let n = 0\n let temp\n\n for (let j = 0; j < iterations; j++) {\n let left =\n (key.charCodeAt(m++) << 24) | (key.charCodeAt(m++) << 16) | (key.charCodeAt(m++) << 8) | key.charCodeAt(m++)\n let right =\n (key.charCodeAt(m++) << 24) | (key.charCodeAt(m++) << 16) | (key.charCodeAt(m++) << 8) | key.charCodeAt(m++)\n\n temp = ((left >>> 4) ^ right) & 0x0f0f0f0f\n right ^= temp\n left ^= temp << 4\n temp = ((right >>> -16) ^ left) & 0x0000ffff\n left ^= temp\n right ^= temp << -16\n temp = ((left >>> 2) ^ right) & 0x33333333\n right ^= temp\n left ^= temp << 2\n temp = ((right >>> -16) ^ left) & 0x0000ffff\n left ^= temp\n right ^= temp << -16\n temp = ((left >>> 1) ^ right) & 0x55555555\n right ^= temp\n left ^= temp << 1\n temp = ((right >>> 8) ^ left) & 0x00ff00ff\n left ^= temp\n right ^= temp << 8\n temp = ((left >>> 1) ^ right) & 0x55555555\n right ^= temp\n left ^= temp << 1\n temp = (left << 8) | ((right >>> 20) & 0x000000f0)\n left = (right << 24) | ((right << 8) & 0xff0000) | ((right >>> 8) & 0xff00) | ((right >>> 24) & 0xf0)\n right = temp\n for (let i = 0; i < shifts.length; i++) {\n if (shifts[i]) {\n left = (left << 2) | (left >>> 26)\n right = (right << 2) | (right >>> 26)\n } else {\n left = (left << 1) | (left >>> 27)\n right = (right << 1) | (right >>> 27)\n }\n left &= -0xf\n right &= -0xf\n lefttemp =\n pc2bytes0[left >>> 28] |\n pc2bytes1[(left >>> 24) & 0xf] |\n pc2bytes2[(left >>> 20) & 0xf] |\n pc2bytes3[(left >>> 16) & 0xf] |\n pc2bytes4[(left >>> 12) & 0xf] |\n pc2bytes5[(left >>> 8) & 0xf] |\n pc2bytes6[(left >>> 4) & 0xf]\n righttemp =\n pc2bytes7[right >>> 28] |\n pc2bytes8[(right >>> 24) & 0xf] |\n pc2bytes9[(right >>> 20) & 0xf] |\n pc2bytes10[(right >>> 16) & 0xf] |\n pc2bytes11[(right >>> 12) & 0xf] |\n pc2bytes12[(right >>> 8) & 0xf] |\n pc2bytes13[(right >>> 4) & 0xf]\n temp = ((righttemp >>> 16) ^ lefttemp) & 0x0000ffff\n keys[n++] = lefttemp ^ temp\n keys[n++] = righttemp ^ (temp << 16)\n }\n }\n return keys\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvalFunctions.d.ts","sourceRoot":"","sources":["../../../../src/runtime/variables/EvalFunctions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EvalFunctions.d.ts","sourceRoot":"","sources":["../../../../src/runtime/variables/EvalFunctions.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,EAAE,OAAsC,CAAA;AAE9D;;GAEG;AACH,qBAAa,aAAa;IACxB,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,MAAM,GAAG,MAAM,CAAA;IAE/E;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAQvE;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAQvE;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,MAAM;IAa7D;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,MAAM;IAa7D;;;;;;;OAOG;IACH,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAgBxD;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAgB3D;;;;OAIG;IACH,MAAM,CAAC,SAAS,IAAI,MAAM;CAK3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvalFunctions.js","sourceRoot":"","sources":["../../../../src/runtime/variables/EvalFunctions.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"EvalFunctions.js","sourceRoot":"","sources":["../../../../src/runtime/variables/EvalFunctions.ts"],"names":[],"mappings":"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","sourcesContent":["import { find, store } from './Cache.js'\n\n// eslint-disable-next-line no-restricted-globals\nexport const hasBuffer: boolean = typeof Buffer === 'function'\n\n/**\n * A map of functions that evaluates values with native functions.\n */\nexport class EvalFunctions {\n static [key: string]: (cacheTarget: object, args?: string[]) => string | number\n\n /**\n * Calls `encodeURIComponent()` function on the first item of arguments array\n * @param args List of expression arguments\n * @return Encoded value\n * @throws {Error} When input has no value.\n */\n static EncodeURIComponent(cacheTarget: object, args?: string[]): string {\n const value = args && args[0]\n if (!value) {\n throw new Error('encodeURIComponent() requires a value')\n }\n return encodeURIComponent(value)\n }\n\n /**\n * Calls `decodeURIComponent()` function on the first item of arguments array\n * @param args List of expression arguments\n * @return Decoded value\n * @throws {Error} When input has no value.\n */\n static DecodeURIComponent(cacheTarget: object, args?: string[]): string {\n const value = args && args[0]\n if (!value) {\n throw new Error('decodeURIComponent() requires a value')\n }\n return decodeURIComponent(value)\n }\n\n /**\n * Calls the `btoa()` function on the first item on the arguments array\n * @param args List of expression arguments\n * @return Decoded value\n * @throws {Error} When input has no value.\n */\n static Btoa(cacheTarget: object, args: string[] = []): string {\n const [value] = args\n if (!value) {\n throw new Error('btoa() requires a value')\n }\n if (hasBuffer) {\n // eslint-disable-next-line no-restricted-globals\n const b = Buffer.from(value)\n return b.toString('base64')\n }\n return btoa(value)\n }\n\n /**\n * Calls the `atob()` function on the first item on the arguments array\n * @param args List of expression arguments\n * @return Decoded value\n * @throws {Error} When input has no value.\n */\n static Atob(cacheTarget: object, args: string[] = []): string {\n const [value] = args\n if (!value) {\n throw new Error('atob() requires a value')\n }\n if (hasBuffer) {\n // eslint-disable-next-line no-restricted-globals\n const b = Buffer.from(value, 'base64')\n return b.toString('utf8')\n }\n return atob(value)\n }\n\n /**\n * Calls the `now()` function. Returns current timestamp.\n * If argument is passed is will try to retrieve existing cached value\n * or create new one.\n *\n * @param args Arguments passed to the function\n * @return Current timestamp\n */\n static Now(cacheTarget: object, args?: string[]): number {\n const key = '__evalFnNow'\n const hasGroup = !!(args && args[0])\n let value\n if (hasGroup) {\n value = find(cacheTarget, key, args[0])\n }\n if (!value) {\n value = Date.now()\n }\n if (hasGroup) {\n store(cacheTarget, key, args[0], value)\n }\n return value as number\n }\n\n /**\n * Generates random integer value. If a group is passed in the `args` then\n * it looks for the value in the cache and prefers it if available.\n *\n * @param args Arguments passed to the function\n * @returns Current timestamp\n */\n static Random(cacheTarget: object, args?: string[]): number {\n const key = '__evalFnRandom'\n const hasGroup = !!(args && args[0])\n let value\n if (hasGroup) {\n value = find(cacheTarget, key, args[0])\n }\n if (!value) {\n value = EvalFunctions.randomInt()\n }\n if (hasGroup) {\n store(cacheTarget, key, args[0], value)\n }\n return value as number\n }\n\n /**\n * Returns a random `int` between 0 (inclusive) and\n * `Number.MAX_SAFE_INTEGER` (exclusive) with roughly equal probability of\n * returning any particular `int` in this range.\n */\n static randomInt(): number {\n // \"|0\" forces the value to a 32 bit integer.\n // Number.MAX_SAFE_INTEGER\n return Math.abs(Math.floor(Math.random() * 9007199254740991) | 0)\n }\n}\n"]}
|