@api-client/core 0.19.19 → 0.19.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/build/src/authorization/Utils.js +3 -3
  2. package/build/src/authorization/Utils.js.map +1 -1
  3. package/build/src/modeling/ApiModel.d.ts +16 -5
  4. package/build/src/modeling/ApiModel.d.ts.map +1 -1
  5. package/build/src/modeling/ApiModel.js +17 -2
  6. package/build/src/modeling/ApiModel.js.map +1 -1
  7. package/build/src/modeling/ApiValidation.d.ts.map +1 -1
  8. package/build/src/modeling/ApiValidation.js +2 -1
  9. package/build/src/modeling/ApiValidation.js.map +1 -1
  10. package/build/src/modeling/DomainProperty.d.ts +12 -0
  11. package/build/src/modeling/DomainProperty.d.ts.map +1 -1
  12. package/build/src/modeling/DomainProperty.js +23 -28
  13. package/build/src/modeling/DomainProperty.js.map +1 -1
  14. package/build/src/modeling/DomainSerialization.js +1 -1
  15. package/build/src/modeling/DomainSerialization.js.map +1 -1
  16. package/build/src/modeling/ExposedEntity.d.ts +15 -1
  17. package/build/src/modeling/ExposedEntity.d.ts.map +1 -1
  18. package/build/src/modeling/ExposedEntity.js +42 -4
  19. package/build/src/modeling/ExposedEntity.js.map +1 -1
  20. package/build/src/modeling/actions/Action.d.ts.map +1 -1
  21. package/build/src/modeling/actions/Action.js +1 -0
  22. package/build/src/modeling/actions/Action.js.map +1 -1
  23. package/build/src/modeling/actions/ListAction.d.ts +3 -17
  24. package/build/src/modeling/actions/ListAction.d.ts.map +1 -1
  25. package/build/src/modeling/actions/ListAction.js +18 -38
  26. package/build/src/modeling/actions/ListAction.js.map +1 -1
  27. package/build/src/modeling/actions/SearchAction.d.ts +4 -4
  28. package/build/src/modeling/actions/SearchAction.d.ts.map +1 -1
  29. package/build/src/modeling/actions/SearchAction.js +16 -13
  30. package/build/src/modeling/actions/SearchAction.js.map +1 -1
  31. package/build/src/modeling/generators/oas_312/OasGenerator.d.ts +32 -0
  32. package/build/src/modeling/generators/oas_312/OasGenerator.d.ts.map +1 -0
  33. package/build/src/modeling/generators/oas_312/OasGenerator.js +1452 -0
  34. package/build/src/modeling/generators/oas_312/OasGenerator.js.map +1 -0
  35. package/build/src/modeling/generators/oas_312/OasSchemaGenerator.d.ts +27 -0
  36. package/build/src/modeling/generators/oas_312/OasSchemaGenerator.d.ts.map +1 -0
  37. package/build/src/modeling/generators/oas_312/OasSchemaGenerator.js +295 -0
  38. package/build/src/modeling/generators/oas_312/OasSchemaGenerator.js.map +1 -0
  39. package/build/src/modeling/generators/oas_312/types.d.ts +1010 -0
  40. package/build/src/modeling/generators/oas_312/types.d.ts.map +1 -0
  41. package/build/src/modeling/generators/oas_312/types.js +2 -0
  42. package/build/src/modeling/generators/oas_312/types.js.map +1 -0
  43. package/build/src/modeling/generators/oas_320/OasGenerator.d.ts +16 -0
  44. package/build/src/modeling/generators/oas_320/OasGenerator.d.ts.map +1 -0
  45. package/build/src/modeling/generators/oas_320/OasGenerator.js +306 -0
  46. package/build/src/modeling/generators/oas_320/OasGenerator.js.map +1 -0
  47. package/build/src/modeling/generators/oas_320/OasSchemaGenerator.d.ts +25 -0
  48. package/build/src/modeling/generators/oas_320/OasSchemaGenerator.d.ts.map +1 -0
  49. package/build/src/modeling/generators/oas_320/OasSchemaGenerator.js +237 -0
  50. package/build/src/modeling/generators/oas_320/OasSchemaGenerator.js.map +1 -0
  51. package/build/src/modeling/generators/oas_320/types.d.ts +1219 -0
  52. package/build/src/modeling/generators/oas_320/types.d.ts.map +1 -0
  53. package/build/src/modeling/generators/oas_320/types.js +2 -0
  54. package/build/src/modeling/generators/oas_320/types.js.map +1 -0
  55. package/build/src/modeling/helpers/Intelisense.d.ts +1 -1
  56. package/build/src/modeling/helpers/Intelisense.d.ts.map +1 -1
  57. package/build/src/modeling/helpers/Intelisense.js +4 -2
  58. package/build/src/modeling/helpers/Intelisense.js.map +1 -1
  59. package/build/src/modeling/types.d.ts +50 -13
  60. package/build/src/modeling/types.d.ts.map +1 -1
  61. package/build/src/modeling/types.js.map +1 -1
  62. package/build/src/modeling/validation/api_model_rules.d.ts +1 -0
  63. package/build/src/modeling/validation/api_model_rules.d.ts.map +1 -1
  64. package/build/src/modeling/validation/api_model_rules.js +105 -29
  65. package/build/src/modeling/validation/api_model_rules.js.map +1 -1
  66. package/build/src/models/ProjectRequest.d.ts.map +1 -1
  67. package/build/src/models/ProjectRequest.js +0 -4
  68. package/build/src/models/ProjectRequest.js.map +1 -1
  69. package/build/src/models/transformers/ArcDexieTransformer.d.ts.map +1 -1
  70. package/build/src/models/transformers/ArcDexieTransformer.js +0 -4
  71. package/build/src/models/transformers/ArcDexieTransformer.js.map +1 -1
  72. package/build/src/models/transformers/ImportUtils.js +1 -1
  73. package/build/src/models/transformers/ImportUtils.js.map +1 -1
  74. package/build/src/models/transformers/PostmanBackupTransformer.d.ts.map +1 -1
  75. package/build/src/models/transformers/PostmanBackupTransformer.js +0 -4
  76. package/build/src/models/transformers/PostmanBackupTransformer.js.map +1 -1
  77. package/build/src/runtime/constants.d.ts +7 -0
  78. package/build/src/runtime/constants.d.ts.map +1 -0
  79. package/build/src/runtime/constants.js +8 -0
  80. package/build/src/runtime/constants.js.map +1 -0
  81. package/build/src/runtime/http-engine/ntlm/Des.d.ts.map +1 -1
  82. package/build/src/runtime/http-engine/ntlm/Des.js +1 -0
  83. package/build/src/runtime/http-engine/ntlm/Des.js.map +1 -1
  84. package/build/src/runtime/variables/EvalFunctions.d.ts.map +1 -1
  85. package/build/src/runtime/variables/EvalFunctions.js +0 -1
  86. package/build/src/runtime/variables/EvalFunctions.js.map +1 -1
  87. package/build/tsconfig.tsbuildinfo +1 -1
  88. package/eslint.config.js +6 -0
  89. package/package.json +3 -1
  90. package/src/authorization/Utils.ts +3 -3
  91. package/src/modeling/ApiModel.ts +23 -8
  92. package/src/modeling/ApiValidation.ts +2 -0
  93. package/src/modeling/DomainProperty.ts +22 -18
  94. package/src/modeling/DomainSerialization.ts +1 -1
  95. package/src/modeling/ExposedEntity.ts +44 -4
  96. package/src/modeling/actions/Action.ts +1 -0
  97. package/src/modeling/actions/ListAction.ts +12 -30
  98. package/src/modeling/actions/SearchAction.ts +11 -8
  99. package/src/modeling/generators/oas_312/OasGenerator.ts +1685 -0
  100. package/src/modeling/generators/oas_312/OasSchemaGenerator.ts +322 -0
  101. package/src/modeling/generators/oas_312/types.ts +1052 -0
  102. package/src/modeling/generators/oas_320/OasGenerator.ts +359 -0
  103. package/src/modeling/generators/oas_320/OasSchemaGenerator.ts +255 -0
  104. package/src/modeling/generators/oas_320/types.ts +1259 -0
  105. package/src/modeling/helpers/Intelisense.ts +4 -2
  106. package/src/modeling/types.ts +55 -22
  107. package/src/modeling/validation/api_model_rules.ts +103 -32
  108. package/src/models/ProjectRequest.ts +0 -4
  109. package/src/models/transformers/ArcDexieTransformer.ts +0 -4
  110. package/src/models/transformers/ImportUtils.ts +1 -1
  111. package/src/models/transformers/PostmanBackupTransformer.ts +0 -5
  112. package/src/runtime/constants.ts +9 -0
  113. package/src/runtime/http-engine/ntlm/Des.ts +1 -0
  114. package/src/runtime/variables/EvalFunctions.ts +0 -1
  115. package/tests/test-utils.ts +6 -2
  116. package/tests/unit/decorators/observed.spec.ts +8 -24
  117. package/tests/unit/decorators/observed_recursive.spec.ts +0 -1
  118. package/tests/unit/events/EventsTestHelpers.ts +0 -1
  119. package/tests/unit/events/events_polyfills.ts +0 -1
  120. package/tests/unit/legacy-transformers/DataTestHelper.ts +0 -2
  121. package/tests/unit/legacy-transformers/LegacyExportProcessor.spec.ts +0 -1
  122. package/tests/unit/modeling/actions/ListAction.spec.ts +9 -69
  123. package/tests/unit/modeling/actions/SearchAction.spec.ts +9 -35
  124. package/tests/unit/modeling/api_model.spec.ts +28 -0
  125. package/tests/unit/modeling/definitions/sku.spec.ts +0 -2
  126. package/tests/unit/modeling/domain_property.spec.ts +20 -1
  127. package/tests/unit/modeling/exposed_entity.spec.ts +71 -0
  128. package/tests/unit/modeling/generators/OasGenerator.spec.ts +302 -0
  129. package/tests/unit/modeling/helpers/intellisense.spec.ts +1 -1
  130. package/tests/unit/modeling/validation/api_model_rules.spec.ts +113 -15
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectRequest.js","sourceRoot":"","sources":["../../../src/models/ProjectRequest.ts"],"names":[],"mappings":"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","sourcesContent":["import { nanoid } from '../nanoid.js'\nimport { ProjectDefinitionProperty, IProjectDefinitionProperty } from './ProjectDefinitionProperty.js'\nimport { ProjectFolder } from './ProjectFolder.js'\nimport { IHttpRequest, Kind as HttpRequestKind } from './HttpRequest.js'\nimport { HttpProject } from './HttpProject.js'\nimport { IRequest, Request } from './Request.js'\nimport { Environment } from './Environment.js'\nimport { Property } from './Property.js'\nimport { Server } from './Server.js'\nimport { UriTemplate } from '../lib/parsers/UriTemplate.js'\nimport { RequestAuthorization } from './RequestAuthorization.js'\nimport { Thing } from './Thing.js'\n\nexport const Kind = 'Core#ProjectRequest'\n\nexport interface RequestUrlReadOptions {\n /**\n * When set it won't apply variables to the URL.\n */\n noVariables?: boolean\n /**\n * When set is returns the only the base URL defined in the environment without\n * adding the `url` defined on the request object. *\n */\n baseUrl?: boolean\n /**\n * When set it uses these variables instead one the onces defined on the project.\n * When this is defined then `noVariables` has no effect.\n */\n variables?: Record<string, string>\n}\n\nexport interface IProjectRequest extends IProjectDefinitionProperty, IRequest {\n kind: typeof Kind\n /**\n * The identifier of the request.\n */\n key: string\n /**\n * The key of an environment defined on the project to apply to this request.\n * When not set it inherits environments from parents.\n * However, when this is set, it makes sure that server/variables from this environment are always applied.\n */\n environment?: string\n}\n\nexport interface IRequestCloneOptions {\n /**\n * By default it revalidates (re-creates) keys in the request.\n * Set this to true to not make any changes to the keys.\n */\n withoutRevalidate?: boolean\n /**\n * By default it attaches the request to the same parent as the original request.\n * Set this to `true` when moving a request between projects to prevent adding the request to the project.\n * Note, the request still have a reference to the original project. You need to update the `project` property.\n */\n withoutAttach?: boolean\n}\n\n/**\n * **Note about the payload.**\n *\n * The payload is **always** stored in the request object in its serialized form.\n * Use the `readPayload()` to read the correct data type and the `writePayload()` to\n * safely store the payload.\n */\nexport class ProjectRequest extends Request implements ProjectDefinitionProperty {\n override kind = Kind\n\n /**\n * The identifier of the request.\n */\n key = ''\n\n /**\n * A reference to the top level project object.\n */\n project: HttpProject\n\n /**\n * The key of an environment defined on the project to apply to this request.\n * When not set it inherits environments from parents.\n * However, when this is set, it makes sure that server/variables from this environment are always applied.\n */\n environment?: string\n\n /**\n * Checks whether the input is a definition of a project folder.\n */\n static isProjectRequest(input: unknown): boolean {\n const typed = input as IProjectRequest\n if (!input || typed.kind !== Kind) {\n return false\n }\n return true\n }\n\n /**\n * Creates a project request from an URL.\n * This does not manipulate the project.\n *\n * @param url The Request URL. This is required.\n * @param project The parent project.\n */\n static override fromUrl(url: string, project?: HttpProject): ProjectRequest {\n if (!project) {\n throw new Error(`The project is required.`)\n }\n const now: number = Date.now()\n const request = new ProjectRequest(project, {\n key: nanoid(),\n kind: Kind,\n created: now,\n updated: now,\n expects: {\n kind: HttpRequestKind,\n method: 'GET',\n url,\n },\n info: Thing.fromName(url).toJSON(),\n })\n return request\n }\n\n /**\n * Creates a project request from a name.\n * This does not manipulate the project.\n *\n * @param name The Request name.\n * @param project The parent project.This is required.\n */\n static override fromName(name: string, project?: HttpProject): ProjectRequest {\n if (!project) {\n throw new Error(`The project is required.`)\n }\n const now: number = Date.now()\n const request = new ProjectRequest(project, {\n key: nanoid(),\n kind: Kind,\n created: now,\n updated: now,\n expects: {\n kind: HttpRequestKind,\n method: 'GET',\n url: '',\n },\n info: Thing.fromName(name).toJSON(),\n })\n return request\n }\n\n /**\n * Creates a project request from an HttpRequest definition.\n * This does not manipulate the project.\n *\n * @param project The parent project This is required.\n * @param info The request data.\n */\n static override fromHttpRequest(info: IHttpRequest, project?: HttpProject): ProjectRequest {\n if (!project) {\n throw new Error(`The project is required.`)\n }\n const now: number = Date.now()\n const request = new ProjectRequest(project, {\n key: nanoid(),\n kind: Kind,\n created: now,\n updated: now,\n expects: {\n kind: HttpRequestKind,\n method: info.method,\n url: info.url,\n headers: info.headers,\n payload: info.payload,\n },\n info: Thing.fromName(info.url).toJSON(),\n })\n return request\n }\n\n /**\n * Creates a project request for a schema of a Request.\n */\n static fromRequest(request: IRequest, project: HttpProject): ProjectRequest {\n const key = nanoid()\n const init: IProjectRequest = { ...request, key, kind: Kind }\n const result = new ProjectRequest(project, init)\n return result\n }\n\n constructor(project: HttpProject, input?: string | IProjectRequest) {\n super(input)\n this.project = project\n let init: IProjectRequest\n if (typeof input === 'string') {\n init = JSON.parse(input)\n } else if (typeof input === 'object') {\n init = input\n } else {\n const now: number = Date.now()\n init = {\n key: nanoid(),\n kind: Kind,\n created: now,\n updated: now,\n expects: {\n kind: HttpRequestKind,\n method: 'GET',\n url: '',\n },\n info: Thing.fromName('').toJSON(),\n }\n }\n this.new(init)\n }\n\n override new(init: IProjectRequest): void {\n super.new(init)\n\n const { key, environment } = init as IProjectRequest\n this.key = key || nanoid()\n if (environment) {\n this.environment = environment\n }\n }\n\n override toJSON(): IProjectRequest {\n const request = super.toJSON()\n const result: IProjectRequest = { ...request, key: this.key, kind: Kind }\n if (this.environment) {\n result.environment = this.environment\n }\n return result\n }\n\n /**\n * The callback called when the object is attached to a parent.\n * This is called when the object is created and inserted to a project or a folder\n * and when the object is moved between folders.\n */\n attachedCallback(): void {\n // ...\n }\n\n /**\n * The callback called when the object is detached from its parent.\n * This callback is called when the item is deleted from a folder or a project,\n * or when the item is about to be moved to another folder.\n */\n detachedCallback(): void {\n // ...\n }\n\n /**\n * @returns The instance of the HttpProject or a ProjectFolder that is a closes parent of this instance.\n */\n getParent(): ProjectFolder | HttpProject | undefined {\n const { project, key } = this\n return project.findParent(key)\n }\n\n /**\n * @returns A reference to the parent folder or the top-level HTTP project.\n */\n getProject(): HttpProject {\n return this.project\n }\n\n /**\n * Removes this request from the project.\n */\n remove(): void {\n this.project.removeRequest(this.key)\n }\n\n /**\n * Makes a copy of this request.\n * By default it attaches the copied request to the same parent.\n * Use the options dictionary to control this behavior.\n */\n clone(opts: IRequestCloneOptions = {}): ProjectRequest {\n const copy = new ProjectRequest(this.project, this.toJSON())\n if (!opts.withoutRevalidate) {\n copy.key = nanoid()\n }\n if (!opts.withoutAttach) {\n // if the parent is the project then add the request to the project.\n const parent = this.getParent()\n if (parent) {\n parent.addRequest(copy)\n }\n }\n return copy\n }\n\n /**\n * The static version of the `clone()` method.\n *\n * @param request The request schema to clone.\n * @param project The project to add the request to.\n * @param opts Optional options.\n * @returns The copied request.\n */\n static clone(request: IProjectRequest, project: HttpProject, opts: IRequestCloneOptions = {}): ProjectRequest {\n const obj = new ProjectRequest(project, request)\n return obj.clone(opts)\n }\n\n /**\n * @returns The environment that should be applied to the request, if any.\n */\n getEnvironment(): Environment | undefined {\n const { environment, project } = this\n if (!environment) {\n return undefined\n }\n let parent = this.getParent()\n if (parent === project) {\n parent = undefined\n }\n return project.findEnvironment(environment)\n }\n\n /**\n * @returns All environments that can be applied to this request.\n */\n readEnvironments(): Environment[] {\n let parent = this.getParent()\n if (parent === this.project) {\n parent = undefined\n }\n return this.project.readEnvironments({ parent: parent?.key })\n }\n\n /**\n * It reads the URL from an environment defined for the request..\n * The environment servers and variables are applies for all environments defined on each folder down to this request.\n * This respects the `encapsulate` flag defined on an environment.\n *\n * By default it applies variables collected from the environments to the url. You can configure this behavior\n * by passing a configuration option.\n *\n * Note on performance.\n * This is a heave computing operation so use it sparingly. For best performance only compute the URL when\n * environments, environment selection or variables change.\n *\n * @param opts Read URL options\n * @returns the read URL or undefined when the URL/environments are not defined.\n */\n readUrl(opts: RequestUrlReadOptions = {}): string | undefined {\n const { environment } = this\n const expects = this.getExpects()\n // note, this list respects the `encapsulate` flag.\n const environments = this.readEnvironments()\n\n let requestUrl = opts.baseUrl ? undefined : expects.url\n if (!environments) {\n if (requestUrl && opts.variables) {\n return this.evaluateUri(requestUrl, opts.variables)\n }\n return requestUrl || undefined\n }\n\n // we assume that absolute URL has a scheme with a delimiter (://). However, the scheme value can be an URL.\n // When the request starts with `/` is obviously a relative (no domain) URL\n // The edge case is `{` because it may mean a variable with a domain or a path to be appended to the base URI\n // defined in an environment. However, we choose to use `/` as the indicator of being a \"relative\" URL.\n const isAbsolute = !!requestUrl && !requestUrl.startsWith('/') && requestUrl.includes('://')\n if (isAbsolute && opts.noVariables) {\n // we know the URL exists, it is absolute (server wouldn't be applied anyway), and we don't\n // want to apply variables. We return what we have so far.\n return requestUrl\n }\n\n const flatProperties: Property[] = []\n let effectiveServer: Server | undefined\n for (const env of environments) {\n if (env.server && env.server.uri) {\n effectiveServer = env.server\n }\n if (!opts.noVariables && !opts.variables && env.variables) {\n for (const prop of env.variables) {\n // environments are listed from the project's root down to the folder where the request\n // exists. When a folder has a variable that was already defined it is replaced.\n this.addProperty(prop, flatProperties)\n }\n }\n if (env.key === environment) {\n break\n }\n }\n\n if (!requestUrl) {\n // we return whatever we have in the server.\n if (effectiveServer) {\n // flatProperties is be empty if `noVariables` option is passed.\n const uri = effectiveServer.readUri()\n if (opts.variables) {\n return this.evaluateUri(uri, opts.variables)\n }\n return this.evaluateUri(uri, flatProperties)\n }\n return undefined\n }\n\n if (isAbsolute) {\n // ignore server reading and just apply variables to the request URL\n if (opts.variables) {\n return this.evaluateUri(requestUrl, opts.variables)\n }\n return this.evaluateUri(requestUrl, flatProperties)\n }\n\n let serverUrl = ''\n if (effectiveServer) {\n serverUrl = effectiveServer.readUri()\n }\n if (!serverUrl.endsWith('/')) {\n serverUrl += '/'\n }\n if (requestUrl.startsWith('/')) {\n requestUrl = requestUrl.substring(1)\n }\n const url = serverUrl + requestUrl\n if (opts.variables) {\n return this.evaluateUri(url, opts.variables)\n }\n return this.evaluateUri(url, flatProperties)\n }\n\n protected addProperty(item: Property, list: Property[]): void {\n const index = list.findIndex((i) => i.name === item.name)\n if (index >= 0) {\n list.splice(index, 1)\n }\n list.push(item)\n }\n\n /**\n * Evaluates the URI against variables.\n *\n * Note, this doesn't throw errors. When error occurs it returns the input string.\n *\n * @param uri The URI to process\n * @param variables The list of variables to use\n * @returns Expanded URI.\n */\n protected evaluateUri(uri: string, variables?: Property[] | Record<string, string>): string {\n if (!variables) {\n return uri\n }\n\n let vars: Record<string, string> | undefined\n if (Array.isArray(variables)) {\n if (variables.length) {\n vars = Property.toMap(variables) as Record<string, string>\n }\n } else {\n vars = variables\n }\n if (!vars) {\n return uri\n }\n let result = uri\n try {\n result = new UriTemplate(uri).expand(vars, { ignoreMissing: true })\n } catch {\n //\n }\n return result\n }\n\n /**\n * Reads the authorization that should be applied to the request.\n *\n * 1) First it returns the locally (on the request) defined authorization.\n * 2) Then it returns authorization defined on the selected environment.\n * 3) If has defined environment but no authorization on it, then it returns empty array.\n * 4) Only if the request has no selected environment then it reads first environment\n * that has authorization (from the request up to the project's root).\n */\n readAuthorization(): RequestAuthorization[] {\n if (Array.isArray(this.authorization) && this.authorization.length) {\n return this.authorization\n }\n const envAuth = this.readEnvironmentAuthorization()\n if (envAuth) {\n return envAuth\n }\n if (this.environment) {\n return []\n }\n const inherited = this.readEnvironmentsAuthorization()\n if (inherited) {\n return inherited\n }\n return []\n }\n\n /**\n * @returns Authorization defined on the selected environment or undefined.\n */\n protected readEnvironmentAuthorization(): RequestAuthorization[] | undefined {\n const selfEnv = this.getEnvironment()\n if (!selfEnv) {\n return undefined\n }\n if (Array.isArray(selfEnv.authorization) && selfEnv.authorization.length) {\n return selfEnv.authorization\n }\n return undefined\n }\n\n /**\n * @returns Authorization defined on any inherited environment or undefined.\n */\n protected readEnvironmentsAuthorization(): RequestAuthorization[] | undefined {\n const envs = this.readEnvironments()\n const authEnv = envs.find((i) => Array.isArray(i.authorization) && !!i.authorization.length)\n if (authEnv) {\n return authEnv.authorization as RequestAuthorization[]\n }\n return undefined\n }\n}\n"]}
1
+ {"version":3,"file":"ProjectRequest.js","sourceRoot":"","sources":["../../../src/models/ProjectRequest.ts"],"names":[],"mappings":"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","sourcesContent":["import { nanoid } from '../nanoid.js'\nimport { ProjectDefinitionProperty, IProjectDefinitionProperty } from './ProjectDefinitionProperty.js'\nimport { ProjectFolder } from './ProjectFolder.js'\nimport { IHttpRequest, Kind as HttpRequestKind } from './HttpRequest.js'\nimport { HttpProject } from './HttpProject.js'\nimport { IRequest, Request } from './Request.js'\nimport { Environment } from './Environment.js'\nimport { Property } from './Property.js'\nimport { Server } from './Server.js'\nimport { UriTemplate } from '../lib/parsers/UriTemplate.js'\nimport { RequestAuthorization } from './RequestAuthorization.js'\nimport { Thing } from './Thing.js'\n\nexport const Kind = 'Core#ProjectRequest'\n\nexport interface RequestUrlReadOptions {\n /**\n * When set it won't apply variables to the URL.\n */\n noVariables?: boolean\n /**\n * When set is returns the only the base URL defined in the environment without\n * adding the `url` defined on the request object. *\n */\n baseUrl?: boolean\n /**\n * When set it uses these variables instead one the onces defined on the project.\n * When this is defined then `noVariables` has no effect.\n */\n variables?: Record<string, string>\n}\n\nexport interface IProjectRequest extends IProjectDefinitionProperty, IRequest {\n kind: typeof Kind\n /**\n * The identifier of the request.\n */\n key: string\n /**\n * The key of an environment defined on the project to apply to this request.\n * When not set it inherits environments from parents.\n * However, when this is set, it makes sure that server/variables from this environment are always applied.\n */\n environment?: string\n}\n\nexport interface IRequestCloneOptions {\n /**\n * By default it revalidates (re-creates) keys in the request.\n * Set this to true to not make any changes to the keys.\n */\n withoutRevalidate?: boolean\n /**\n * By default it attaches the request to the same parent as the original request.\n * Set this to `true` when moving a request between projects to prevent adding the request to the project.\n * Note, the request still have a reference to the original project. You need to update the `project` property.\n */\n withoutAttach?: boolean\n}\n\n/**\n * **Note about the payload.**\n *\n * The payload is **always** stored in the request object in its serialized form.\n * Use the `readPayload()` to read the correct data type and the `writePayload()` to\n * safely store the payload.\n */\nexport class ProjectRequest extends Request implements ProjectDefinitionProperty {\n override kind = Kind\n\n /**\n * The identifier of the request.\n */\n key = ''\n\n /**\n * A reference to the top level project object.\n */\n project: HttpProject\n\n /**\n * The key of an environment defined on the project to apply to this request.\n * When not set it inherits environments from parents.\n * However, when this is set, it makes sure that server/variables from this environment are always applied.\n */\n environment?: string\n\n /**\n * Checks whether the input is a definition of a project folder.\n */\n static isProjectRequest(input: unknown): boolean {\n const typed = input as IProjectRequest\n if (!input || typed.kind !== Kind) {\n return false\n }\n return true\n }\n\n /**\n * Creates a project request from an URL.\n * This does not manipulate the project.\n *\n * @param url The Request URL. This is required.\n * @param project The parent project.\n */\n static override fromUrl(url: string, project?: HttpProject): ProjectRequest {\n if (!project) {\n throw new Error(`The project is required.`)\n }\n const now: number = Date.now()\n const request = new ProjectRequest(project, {\n key: nanoid(),\n kind: Kind,\n created: now,\n updated: now,\n expects: {\n kind: HttpRequestKind,\n method: 'GET',\n url,\n },\n info: Thing.fromName(url).toJSON(),\n })\n return request\n }\n\n /**\n * Creates a project request from a name.\n * This does not manipulate the project.\n *\n * @param name The Request name.\n * @param project The parent project.This is required.\n */\n static override fromName(name: string, project?: HttpProject): ProjectRequest {\n if (!project) {\n throw new Error(`The project is required.`)\n }\n const now: number = Date.now()\n const request = new ProjectRequest(project, {\n key: nanoid(),\n kind: Kind,\n created: now,\n updated: now,\n expects: {\n kind: HttpRequestKind,\n method: 'GET',\n url: '',\n },\n info: Thing.fromName(name).toJSON(),\n })\n return request\n }\n\n /**\n * Creates a project request from an HttpRequest definition.\n * This does not manipulate the project.\n *\n * @param project The parent project This is required.\n * @param info The request data.\n */\n static override fromHttpRequest(info: IHttpRequest, project?: HttpProject): ProjectRequest {\n if (!project) {\n throw new Error(`The project is required.`)\n }\n const now: number = Date.now()\n const request = new ProjectRequest(project, {\n key: nanoid(),\n kind: Kind,\n created: now,\n updated: now,\n expects: {\n kind: HttpRequestKind,\n method: info.method,\n url: info.url,\n headers: info.headers,\n payload: info.payload,\n },\n info: Thing.fromName(info.url).toJSON(),\n })\n return request\n }\n\n /**\n * Creates a project request for a schema of a Request.\n */\n static fromRequest(request: IRequest, project: HttpProject): ProjectRequest {\n const key = nanoid()\n const init: IProjectRequest = { ...request, key, kind: Kind }\n const result = new ProjectRequest(project, init)\n return result\n }\n\n constructor(project: HttpProject, input?: string | IProjectRequest) {\n super(input)\n this.project = project\n let init: IProjectRequest\n if (typeof input === 'string') {\n init = JSON.parse(input)\n } else if (typeof input === 'object') {\n init = input\n } else {\n const now: number = Date.now()\n init = {\n key: nanoid(),\n kind: Kind,\n created: now,\n updated: now,\n expects: {\n kind: HttpRequestKind,\n method: 'GET',\n url: '',\n },\n info: Thing.fromName('').toJSON(),\n }\n }\n this.new(init)\n }\n\n override new(init: IProjectRequest): void {\n super.new(init)\n\n const { key, environment } = init as IProjectRequest\n this.key = key || nanoid()\n if (environment) {\n this.environment = environment\n }\n }\n\n override toJSON(): IProjectRequest {\n const request = super.toJSON()\n const result: IProjectRequest = { ...request, key: this.key, kind: Kind }\n if (this.environment) {\n result.environment = this.environment\n }\n return result\n }\n\n /**\n * The callback called when the object is attached to a parent.\n * This is called when the object is created and inserted to a project or a folder\n * and when the object is moved between folders.\n */\n attachedCallback(): void {\n // ...\n }\n\n /**\n * The callback called when the object is detached from its parent.\n * This callback is called when the item is deleted from a folder or a project,\n * or when the item is about to be moved to another folder.\n */\n detachedCallback(): void {\n // ...\n }\n\n /**\n * @returns The instance of the HttpProject or a ProjectFolder that is a closes parent of this instance.\n */\n getParent(): ProjectFolder | HttpProject | undefined {\n const { project, key } = this\n return project.findParent(key)\n }\n\n /**\n * @returns A reference to the parent folder or the top-level HTTP project.\n */\n getProject(): HttpProject {\n return this.project\n }\n\n /**\n * Removes this request from the project.\n */\n remove(): void {\n this.project.removeRequest(this.key)\n }\n\n /**\n * Makes a copy of this request.\n * By default it attaches the copied request to the same parent.\n * Use the options dictionary to control this behavior.\n */\n clone(opts: IRequestCloneOptions = {}): ProjectRequest {\n const copy = new ProjectRequest(this.project, this.toJSON())\n if (!opts.withoutRevalidate) {\n copy.key = nanoid()\n }\n if (!opts.withoutAttach) {\n // if the parent is the project then add the request to the project.\n const parent = this.getParent()\n if (parent) {\n parent.addRequest(copy)\n }\n }\n return copy\n }\n\n /**\n * The static version of the `clone()` method.\n *\n * @param request The request schema to clone.\n * @param project The project to add the request to.\n * @param opts Optional options.\n * @returns The copied request.\n */\n static clone(request: IProjectRequest, project: HttpProject, opts: IRequestCloneOptions = {}): ProjectRequest {\n const obj = new ProjectRequest(project, request)\n return obj.clone(opts)\n }\n\n /**\n * @returns The environment that should be applied to the request, if any.\n */\n getEnvironment(): Environment | undefined {\n const { environment, project } = this\n if (!environment) {\n return undefined\n }\n return project.findEnvironment(environment)\n }\n\n /**\n * @returns All environments that can be applied to this request.\n */\n readEnvironments(): Environment[] {\n let parent = this.getParent()\n if (parent === this.project) {\n parent = undefined\n }\n return this.project.readEnvironments({ parent: parent?.key })\n }\n\n /**\n * It reads the URL from an environment defined for the request..\n * The environment servers and variables are applies for all environments defined on each folder down to this request.\n * This respects the `encapsulate` flag defined on an environment.\n *\n * By default it applies variables collected from the environments to the url. You can configure this behavior\n * by passing a configuration option.\n *\n * Note on performance.\n * This is a heave computing operation so use it sparingly. For best performance only compute the URL when\n * environments, environment selection or variables change.\n *\n * @param opts Read URL options\n * @returns the read URL or undefined when the URL/environments are not defined.\n */\n readUrl(opts: RequestUrlReadOptions = {}): string | undefined {\n const { environment } = this\n const expects = this.getExpects()\n // note, this list respects the `encapsulate` flag.\n const environments = this.readEnvironments()\n\n let requestUrl = opts.baseUrl ? undefined : expects.url\n if (!environments) {\n if (requestUrl && opts.variables) {\n return this.evaluateUri(requestUrl, opts.variables)\n }\n return requestUrl || undefined\n }\n\n // we assume that absolute URL has a scheme with a delimiter (://). However, the scheme value can be an URL.\n // When the request starts with `/` is obviously a relative (no domain) URL\n // The edge case is `{` because it may mean a variable with a domain or a path to be appended to the base URI\n // defined in an environment. However, we choose to use `/` as the indicator of being a \"relative\" URL.\n const isAbsolute = !!requestUrl && !requestUrl.startsWith('/') && requestUrl.includes('://')\n if (isAbsolute && opts.noVariables) {\n // we know the URL exists, it is absolute (server wouldn't be applied anyway), and we don't\n // want to apply variables. We return what we have so far.\n return requestUrl\n }\n\n const flatProperties: Property[] = []\n let effectiveServer: Server | undefined\n for (const env of environments) {\n if (env.server && env.server.uri) {\n effectiveServer = env.server\n }\n if (!opts.noVariables && !opts.variables && env.variables) {\n for (const prop of env.variables) {\n // environments are listed from the project's root down to the folder where the request\n // exists. When a folder has a variable that was already defined it is replaced.\n this.addProperty(prop, flatProperties)\n }\n }\n if (env.key === environment) {\n break\n }\n }\n\n if (!requestUrl) {\n // we return whatever we have in the server.\n if (effectiveServer) {\n // flatProperties is be empty if `noVariables` option is passed.\n const uri = effectiveServer.readUri()\n if (opts.variables) {\n return this.evaluateUri(uri, opts.variables)\n }\n return this.evaluateUri(uri, flatProperties)\n }\n return undefined\n }\n\n if (isAbsolute) {\n // ignore server reading and just apply variables to the request URL\n if (opts.variables) {\n return this.evaluateUri(requestUrl, opts.variables)\n }\n return this.evaluateUri(requestUrl, flatProperties)\n }\n\n let serverUrl = ''\n if (effectiveServer) {\n serverUrl = effectiveServer.readUri()\n }\n if (!serverUrl.endsWith('/')) {\n serverUrl += '/'\n }\n if (requestUrl.startsWith('/')) {\n requestUrl = requestUrl.substring(1)\n }\n const url = serverUrl + requestUrl\n if (opts.variables) {\n return this.evaluateUri(url, opts.variables)\n }\n return this.evaluateUri(url, flatProperties)\n }\n\n protected addProperty(item: Property, list: Property[]): void {\n const index = list.findIndex((i) => i.name === item.name)\n if (index >= 0) {\n list.splice(index, 1)\n }\n list.push(item)\n }\n\n /**\n * Evaluates the URI against variables.\n *\n * Note, this doesn't throw errors. When error occurs it returns the input string.\n *\n * @param uri The URI to process\n * @param variables The list of variables to use\n * @returns Expanded URI.\n */\n protected evaluateUri(uri: string, variables?: Property[] | Record<string, string>): string {\n if (!variables) {\n return uri\n }\n\n let vars: Record<string, string> | undefined\n if (Array.isArray(variables)) {\n if (variables.length) {\n vars = Property.toMap(variables) as Record<string, string>\n }\n } else {\n vars = variables\n }\n if (!vars) {\n return uri\n }\n let result = uri\n try {\n result = new UriTemplate(uri).expand(vars, { ignoreMissing: true })\n } catch {\n //\n }\n return result\n }\n\n /**\n * Reads the authorization that should be applied to the request.\n *\n * 1) First it returns the locally (on the request) defined authorization.\n * 2) Then it returns authorization defined on the selected environment.\n * 3) If has defined environment but no authorization on it, then it returns empty array.\n * 4) Only if the request has no selected environment then it reads first environment\n * that has authorization (from the request up to the project's root).\n */\n readAuthorization(): RequestAuthorization[] {\n if (Array.isArray(this.authorization) && this.authorization.length) {\n return this.authorization\n }\n const envAuth = this.readEnvironmentAuthorization()\n if (envAuth) {\n return envAuth\n }\n if (this.environment) {\n return []\n }\n const inherited = this.readEnvironmentsAuthorization()\n if (inherited) {\n return inherited\n }\n return []\n }\n\n /**\n * @returns Authorization defined on the selected environment or undefined.\n */\n protected readEnvironmentAuthorization(): RequestAuthorization[] | undefined {\n const selfEnv = this.getEnvironment()\n if (!selfEnv) {\n return undefined\n }\n if (Array.isArray(selfEnv.authorization) && selfEnv.authorization.length) {\n return selfEnv.authorization\n }\n return undefined\n }\n\n /**\n * @returns Authorization defined on any inherited environment or undefined.\n */\n protected readEnvironmentsAuthorization(): RequestAuthorization[] | undefined {\n const envs = this.readEnvironments()\n const authEnv = envs.find((i) => Array.isArray(i.authorization) && !!i.authorization.length)\n if (authEnv) {\n return authEnv.authorization as RequestAuthorization[]\n }\n return undefined\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ArcDexieTransformer.d.ts","sourceRoot":"","sources":["../../../../src/models/transformers/ArcDexieTransformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAa,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAChE,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,yBAAyB,CAAA;AAShC,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,QAAQ,CAAA;IACb,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,OAAO,EAAE,KAAK,EAAE,CAAA;CACjB;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;CACX;AAED,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,aAAa,EAAE,iBAAiB,CAAA;CACjC;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,qBAAqB,GAAG,uBAAuB,CAAA;CACzD;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,kBAAkB,EAAE,CAAA;IAC3B,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAC9B;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;IACtD;;;;;OAKG;IACG,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAkB3C;;;;;;;OAOG;IACH,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE;IAcxD;;;;;;;OAOG;IACH,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,GAAG,SAAS;IAiB/D;;;;;;OAMG;IACG,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAczE;;;;;;;;OAQG;IACG,qBAAqB,CACzB,QAAQ,EAAE,YAAY,EAAE,EACxB,KAAK,GAAE,kBAAkB,EAAO,EAChC,OAAO,GAAE,kBAAkB,EAAO,GACjC,OAAO,CAAC,iBAAiB,CAAC;IA2B7B,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,kBAAkB;IAgCxD,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,kBAAkB;IA4CtD,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,kBAAkB;IAMtD,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAOtC;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,iBAAiB;CA2BvF"}
1
+ {"version":3,"file":"ArcDexieTransformer.d.ts","sourceRoot":"","sources":["../../../../src/models/transformers/ArcDexieTransformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAa,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAChE,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,yBAAyB,CAAA;AAShC,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,QAAQ,CAAA;IACb,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,OAAO,EAAE,KAAK,EAAE,CAAA;CACjB;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;CACX;AAED,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,aAAa,EAAE,iBAAiB,CAAA;CACjC;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,qBAAqB,GAAG,uBAAuB,CAAA;CACzD;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,kBAAkB,EAAE,CAAA;IAC3B,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAC9B;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;IACtD;;;;;OAKG;IACG,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAkB3C;;;;;;;OAOG;IACH,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE;IAcxD;;;;;;;OAOG;IACH,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,GAAG,SAAS;IAiB/D;;;;;;OAMG;IACG,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAczE;;;;;;;;OAQG;IACG,qBAAqB,CACzB,QAAQ,EAAE,YAAY,EAAE,EACxB,KAAK,GAAE,kBAAkB,EAAO,EAChC,OAAO,GAAE,kBAAkB,EAAO,GACjC,OAAO,CAAC,iBAAiB,CAAC;IA2B7B,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,kBAAkB;IAgCxD,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,kBAAkB;IAwCtD,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,kBAAkB;IAMtD,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAOtC;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,iBAAiB;CA2BvF"}
@@ -162,10 +162,6 @@ export class ArcDexieTransformer extends BaseTransformer {
162
162
  }
163
163
  parseSavedItem(item) {
164
164
  const requestName = item.name || item._name;
165
- let keyName = requestName;
166
- if (keyName && keyName[0] === '_') {
167
- keyName = keyName.substr(1);
168
- }
169
165
  const obj = {
170
166
  name: requestName || '',
171
167
  method: item.method,
@@ -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":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAkEjE;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD;;;;;OAKG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAgB,CAAA;QAE1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACpD,MAAM,MAAM,GAAG;YACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAgC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3F,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAkC,CAAC,CAAC,CAAC,CAAC,EAAE;YACnF,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAkC,CAAC,CAAC,CAAC,CAAC,EAAE;SACjG,CAAA;QACD,6BAA6B;QAC7B,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,QAAwB;QACtC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,EAAE,CAAA;QACX,CAAC;QACD,MAAM,IAAI,GAAkB,EAAE,CAAA;QAC9B,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACnB,CAAC;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;OAOG;IACH,kBAAkB,CAAC,IAAkB;QACnC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAChD,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE;gBACb,IAAI,EAAE,aAAa;gBACnB,GAAG,EAAE,MAAM,EAAE;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,UAAU;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB;SACF,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CAAC,QAAwB;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QACvD,sCAAsC;QACtC,MAAM,GAAG,GAAa,EAAE,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1C,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;gBAClC,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,qBAAqB,CACzB,QAAwB,EACxB,QAA8B,EAAE,EAChC,UAAgC,EAAE;QAElC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,KAAK;gBACL,OAAO;aACR,CAAA;QACH,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC1C,oCAAoC;QACpC,kDAAkD;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YACxB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;gBAC1C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACtB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;gBACxC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACpB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;gBACxC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACvB,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAC7D,CAAC;IAED,gBAAgB,CAAC,IAAkB;QACjC,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;QAC3B,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;QACrD,MAAM,GAAG,GAA4B;YACnC,GAAG,EAAE,MAAM,EAAE;YACb,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;SAChD,CAAA;QACD,sBAAsB;QACtB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAA;QACvC,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;QACvB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACzC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAA;YAChC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YACtD,GAAG,CAAC,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAA;YACvC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAA;YACjD,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAChB,CAAC;YACD,GAAG,CAAC,OAAO,GAAG,CAAC,CAAA;QACjB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;QAC3B,CAAC;QACD,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACxB,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,EAAE;YAClB,OAAO,EAAE,GAAG;SACb,CAAA;IACH,CAAC;IAED,cAAc,CAAC,IAAkB;QAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAA;QAC3C,MAAM,GAAG,GAA0B;YACjC,IAAI,EAAE,WAAW,IAAI,EAAE;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,iBAAiB;YACvB,GAAG,EAAE,MAAM,EAAE;SACd,CAAA;QACD,sBAAsB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,CAAA;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAA;QACjC,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;YACvB,IAAI,KAAK,CAAA;YACT,IAAI,QAAQ,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC/B,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;YAC3B,CAAC;iBAAM,CAAC;gBACN,CAAC;gBAAA,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;YACpB,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAA;gBAChC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;gBACtD,GAAG,CAAC,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAA;gBACvC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAA;gBACjD,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpB,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBAChB,CAAC;gBACD,GAAG,CAAC,OAAO,GAAG,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;QACD,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAExB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,OAAO,EAAE,GAAG;SACb,CAAA;IACH,CAAC;IAED,cAAc,CAAC,IAAkB;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QACrC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,eAAe,CAAC,GAAa;QAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpE,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAuB,EAAE,QAAuB;QAChE,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACjB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;QAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAA;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC3B,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAA;YAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChE,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;oBAClC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBACjC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;wBACjC,OAAO,CAAC,GAAG,IAAI,IAAI,YAAY,EAAE,CAAA;wBACjC,IAAI,CAAC,mBAAmB,CAAC,OAAgC,EAAE,YAAY,CAAC,CAAA;wBACxE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;wBAC5D,MAAK;oBACP,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF","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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","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}`)\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
+ {"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":"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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 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;IA8N9G,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;CA+HzC"}
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
  }