@api-client/core 0.13.5 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/src/amf/AmfShapeGenerator.js +1 -1
- package/build/src/amf/AmfShapeGenerator.js.map +1 -1
- package/build/src/amf/DataValueGenerator.js +1 -1
- package/build/src/amf/DataValueGenerator.js.map +1 -1
- package/build/src/amf/models/AmfDataNode.js +1 -1
- package/build/src/amf/models/AmfDataNode.js.map +1 -1
- package/build/src/browser.d.ts +1 -1
- package/build/src/browser.d.ts.map +1 -1
- package/build/src/browser.js.map +1 -1
- package/build/src/index.d.ts +2 -1
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js +1 -0
- package/build/src/index.js.map +1 -1
- package/build/src/modeling/DataDomain.js +1 -1
- package/build/src/modeling/DataDomain.js.map +1 -1
- package/build/src/modeling/DomainAssociation.js +1 -1
- package/build/src/modeling/DomainAssociation.js.map +1 -1
- package/build/src/modeling/DomainEntity.js +1 -1
- package/build/src/modeling/DomainEntity.js.map +1 -1
- package/build/src/modeling/DomainFile.d.ts +2 -3
- package/build/src/modeling/DomainFile.d.ts.map +1 -1
- package/build/src/modeling/DomainFile.js +5 -9
- package/build/src/modeling/DomainFile.js.map +1 -1
- package/build/src/modeling/DomainModel.js +1 -1
- package/build/src/modeling/DomainModel.js.map +1 -1
- package/build/src/modeling/DomainNamespace.js +1 -1
- package/build/src/modeling/DomainNamespace.js.map +1 -1
- package/build/src/modeling/DomainProperty.js +1 -1
- package/build/src/modeling/DomainProperty.js.map +1 -1
- package/build/src/modeling/amf/ShapeGenerator.js +1 -1
- package/build/src/modeling/amf/ShapeGenerator.js.map +1 -1
- package/build/src/modeling/legacy/DataAssociation.js +1 -1
- package/build/src/modeling/legacy/DataAssociation.js.map +1 -1
- package/build/src/modeling/legacy/DataEntity.js +1 -1
- package/build/src/modeling/legacy/DataEntity.js.map +1 -1
- package/build/src/modeling/legacy/DataEntityBuilder.js +1 -1
- package/build/src/modeling/legacy/DataEntityBuilder.js.map +1 -1
- package/build/src/modeling/legacy/DataModel.js +1 -1
- package/build/src/modeling/legacy/DataModel.js.map +1 -1
- package/build/src/modeling/legacy/DataNamespace.js +1 -1
- package/build/src/modeling/legacy/DataNamespace.js.map +1 -1
- package/build/src/modeling/legacy/DataProperty.js +1 -1
- package/build/src/modeling/legacy/DataProperty.js.map +1 -1
- package/build/src/models/AuthorizationData.js +1 -1
- package/build/src/models/AuthorizationData.js.map +1 -1
- package/build/src/models/CertificateFile.d.ts +2 -3
- package/build/src/models/CertificateFile.d.ts.map +1 -1
- package/build/src/models/CertificateFile.js +5 -9
- package/build/src/models/CertificateFile.js.map +1 -1
- package/build/src/models/ClientCertificate.js +1 -1
- package/build/src/models/ClientCertificate.js.map +1 -1
- package/build/src/models/Environment.js +1 -1
- package/build/src/models/Environment.js.map +1 -1
- package/build/src/models/Folder.d.ts +1 -2
- package/build/src/models/Folder.d.ts.map +1 -1
- package/build/src/models/Folder.js +3 -5
- package/build/src/models/Folder.js.map +1 -1
- package/build/src/models/HostRule.js +1 -1
- package/build/src/models/HostRule.js.map +1 -1
- package/build/src/models/HttpProject.js +1 -1
- package/build/src/models/HttpProject.js.map +1 -1
- package/build/src/models/Project.d.ts +2 -3
- package/build/src/models/Project.d.ts.map +1 -1
- package/build/src/models/Project.js +5 -9
- package/build/src/models/Project.js.map +1 -1
- package/build/src/models/ProjectFolder.js +1 -1
- package/build/src/models/ProjectFolder.js.map +1 -1
- package/build/src/models/ProjectRequest.js +1 -1
- package/build/src/models/ProjectRequest.js.map +1 -1
- package/build/src/models/ProjectSchema.js +1 -1
- package/build/src/models/ProjectSchema.js.map +1 -1
- package/build/src/models/store/DataFile.d.ts +2 -4
- package/build/src/models/store/DataFile.d.ts.map +1 -1
- package/build/src/models/store/DataFile.js +5 -10
- package/build/src/models/store/DataFile.js.map +1 -1
- package/build/src/models/store/File.d.ts +1 -21
- package/build/src/models/store/File.d.ts.map +1 -1
- package/build/src/models/store/File.js +4 -24
- package/build/src/models/store/File.js.map +1 -1
- package/build/src/models/store/Invitation.js +1 -1
- package/build/src/models/store/Invitation.js.map +1 -1
- package/build/src/models/store/Organization.js +1 -1
- package/build/src/models/store/Organization.js.map +1 -1
- package/build/src/models/store/Permission.d.ts +34 -0
- package/build/src/models/store/Permission.d.ts.map +1 -1
- package/build/src/models/store/Permission.js +28 -2
- package/build/src/models/store/Permission.js.map +1 -1
- package/build/src/models/store/UserIdentity.js +1 -1
- package/build/src/models/store/UserIdentity.js.map +1 -1
- package/build/src/models/transformers/ArcDexieTransformer.js +1 -1
- package/build/src/models/transformers/ArcDexieTransformer.js.map +1 -1
- package/build/src/models/transformers/ArcLegacyTransformer.js +1 -1
- package/build/src/models/transformers/ArcLegacyTransformer.js.map +1 -1
- package/build/src/models/transformers/ArcPouchTransformer.js +1 -1
- package/build/src/models/transformers/ArcPouchTransformer.js.map +1 -1
- package/build/src/models/transformers/PostmanV21Transformer.js +1 -1
- package/build/src/models/transformers/PostmanV21Transformer.js.map +1 -1
- package/build/src/models/transformers/PostmanV2Transformer.js +1 -1
- package/build/src/models/transformers/PostmanV2Transformer.js.map +1 -1
- package/build/src/nanoid.d.ts +10 -0
- package/build/src/nanoid.d.ts.map +1 -0
- package/build/src/nanoid.js +11 -0
- package/build/src/nanoid.js.map +1 -0
- package/build/src/patch/PatchClient.js +1 -1
- package/build/src/patch/PatchClient.js.map +1 -1
- package/build/src/sdk/FilesSdk.js +2 -2
- package/build/src/sdk/FilesSdk.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/data/models/example-generator-api.json +15 -15
- package/eslint.config.js +1 -0
- package/package.json +6 -5
- package/src/amf/AmfShapeGenerator.ts +1 -1
- package/src/amf/DataValueGenerator.ts +1 -1
- package/src/amf/models/AmfDataNode.ts +1 -1
- package/src/modeling/DataDomain.ts +1 -1
- package/src/modeling/DomainAssociation.ts +1 -1
- package/src/modeling/DomainEntity.ts +1 -1
- package/src/modeling/DomainFile.ts +5 -9
- package/src/modeling/DomainModel.ts +1 -1
- package/src/modeling/DomainNamespace.ts +1 -1
- package/src/modeling/DomainProperty.ts +1 -1
- package/src/modeling/amf/ShapeGenerator.ts +1 -1
- package/src/modeling/legacy/DataAssociation.ts +1 -1
- package/src/modeling/legacy/DataEntity.ts +1 -1
- package/src/modeling/legacy/DataEntityBuilder.ts +1 -1
- package/src/modeling/legacy/DataModel.ts +1 -1
- package/src/modeling/legacy/DataNamespace.ts +1 -1
- package/src/modeling/legacy/DataProperty.ts +1 -1
- package/src/models/AuthorizationData.ts +1 -1
- package/src/models/CertificateFile.ts +5 -13
- package/src/models/ClientCertificate.ts +1 -1
- package/src/models/Environment.ts +1 -1
- package/src/models/Folder.ts +3 -5
- package/src/models/HostRule.ts +1 -1
- package/src/models/HttpProject.ts +1 -1
- package/src/models/Project.ts +5 -9
- package/src/models/ProjectFolder.ts +1 -1
- package/src/models/ProjectRequest.ts +1 -1
- package/src/models/ProjectSchema.ts +1 -1
- package/src/models/store/DataFile.ts +5 -10
- package/src/models/store/File.ts +5 -36
- package/src/models/store/Invitation.ts +1 -1
- package/src/models/store/Organization.ts +1 -1
- package/src/models/store/Permission.ts +59 -2
- package/src/models/store/UserIdentity.ts +1 -1
- package/src/models/transformers/ArcDexieTransformer.ts +1 -1
- package/src/models/transformers/ArcLegacyTransformer.ts +1 -1
- package/src/models/transformers/ArcPouchTransformer.ts +1 -1
- package/src/models/transformers/PostmanV21Transformer.ts +1 -1
- package/src/models/transformers/PostmanV2Transformer.ts +1 -1
- package/src/nanoid.ts +10 -0
- package/src/patch/PatchClient.ts +1 -1
- package/src/sdk/FilesSdk.ts +2 -2
- package/tests/unit/modeling/domain_file.spec.ts +8 -27
- package/tests/unit/models/Certificate/from_name.spec.ts +3 -15
- package/tests/unit/models/File/constructor.spec.ts +0 -1
- package/tests/unit/models/File/new.spec.ts +2 -13
- package/tests/unit/models/File/shortcutTo.spec.ts +1 -2
- package/tests/unit/models/File/toJSON.spec.ts +2 -13
- package/tests/unit/models/File/updateByMeMeta.spec.ts +4 -6
- package/tests/unit/models/Folder/create.spec.ts +6 -23
- package/tests/unit/models/Permission/all.spec.ts +88 -0
- package/tests/unit/models/Project/create.spec.ts +10 -32
- package/tests/unit/runtime/proxy/HttpProjectProxy.spec.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Environment.js","sourceRoot":"","sources":["../../../src/models/Environment.ts"],"names":[],"mappings":"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","sourcesContent":["import { Property, IProperty } from './Property.js'\nimport { Server, IServer } from './Server.js'\nimport { IThing, Thing } from './Thing.js'\nimport { nanoid } from 'nanoid'\nimport { ARCVariable } from './legacy/models/Variable.js'\nimport { IRequestAuthorization, RequestAuthorization } from './RequestAuthorization.js'\n\nexport const Kind = 'Core#Environment'\n\nexport interface IEnvironmentCloneOptions {\n /**\n * By default it revalidates (re-creates) keys in the environment.\n * Set this to true to not make any changes to the keys.\n */\n withoutRevalidate?: boolean\n}\n\n/**\n * A project environment definition.\n */\nexport interface IEnvironment {\n kind: typeof Kind\n /**\n * The identifier of the environment.\n */\n key: string\n /**\n * The environment's meta info.\n */\n info: IThing\n /**\n * The server's definition for the environment.\n * When a server is defined for the environment then all request that have no\n * absolute URL will inherit this server configuration.\n */\n server?: IServer\n /**\n * The variables added to this project.\n * It overrides application defined variables.\n */\n variables: IProperty[]\n /**\n * When set this configuration does not allow to be extended by the parent object's environment configuration.\n * By default an environment can be extended by the parent object's values.\n */\n encapsulated?: boolean\n /**\n * The security to be applied to all requests that are going to this environment.\n */\n authorization?: IRequestAuthorization[]\n}\n\n/**\n * An environment is applied to a project or a folder.\n * It consists of a list of variables and a server configuration.\n * This allows to apply the runtime configuration just by changing the environment.\n */\nexport class Environment {\n kind = Kind\n key = ''\n /**\n * The name of the environment.\n */\n info: Thing = Thing.fromName('')\n /**\n * The variables added to this project.\n * It overrides application defined variables.\n */\n variables: Property[] = []\n /**\n * The server's definition for the environment.\n * When a server is defined for the environment then all request that have no\n * absolute URL will inherit this server configuration.\n */\n server?: Server\n /**\n * When set this configuration does not allow to be extended by the parent object's environment configuration.\n * By default an environment can be extended by the parent object's values.\n *\n * When encapsulation is disabled you can, for example, skip server definition and only overwrite variables.\n */\n encapsulated = false\n /**\n * The security to be applied to all requests that are going to this server.\n */\n authorization?: RequestAuthorization[]\n\n /**\n * Creates a new Environment object from a name.\n *\n * @param name The name to set.\n */\n static fromName(name: string): Environment {\n const key = nanoid()\n const info = Thing.fromName(name)\n const definition = new Environment({\n key,\n kind: Kind,\n info: info.toJSON(),\n variables: [],\n })\n return definition\n }\n\n static fromLegacyVariables(name: string, variables: ARCVariable[]): Environment {\n const key = nanoid()\n const info = Thing.fromName(name)\n const definition = new Environment({\n key,\n kind: Kind,\n info: info.toJSON(),\n variables: [],\n })\n variables.forEach((i) => {\n const name = i.variable || i.name\n const property = Property.fromApiType(i)\n property.name = name\n definition.variables.push(property)\n })\n return definition\n }\n\n /**\n * @param input The environment definition used to restore the state.\n */\n constructor(input?: string | IEnvironment) {\n let init: IEnvironment\n if (typeof input === 'string') {\n init = JSON.parse(input)\n } else if (typeof input === 'object') {\n init = input\n } else {\n init = {\n kind: Kind,\n key: nanoid(),\n info: Thing.fromName('').toJSON(),\n variables: [],\n }\n }\n this.new(init)\n }\n\n /**\n * Creates a new environment clearing anything that is so far defined.\n *\n * Note, this throws an error when the environment is not an environment.\n */\n new(init: IEnvironment): void {\n if (!Environment.isEnvironment(init)) {\n throw new Error(`Not an environment.`)\n }\n const { key = nanoid(), variables, info, server, encapsulated = false, authorization } = init\n this.kind = Kind\n this.key = key\n this.encapsulated = encapsulated\n if (Array.isArray(authorization)) {\n this.authorization = authorization.map((i) => new RequestAuthorization(i))\n } else {\n this.authorization = undefined\n }\n if (Array.isArray(variables)) {\n this.variables = variables.map((i) => new Property(i))\n } else {\n this.variables = []\n }\n if (server) {\n this.server = new Server(server)\n } else {\n this.server = undefined\n }\n if (info) {\n this.info = new Thing(info)\n } else {\n this.info = Thing.fromName('')\n }\n }\n\n /**\n * Checks whether the input is a definition of a environment.\n */\n static isEnvironment(input: unknown): boolean {\n const typed = input as IEnvironment\n if (!input || typed.kind !== Kind) {\n return false\n }\n return true\n }\n\n toJSON(): IEnvironment {\n const { variables = [], encapsulated = false, server } = this\n const result: IEnvironment = {\n kind: Kind,\n key: this.key,\n info: this.info.toJSON(),\n variables: variables.map((v) => v.toJSON()),\n encapsulated,\n }\n if (server) {\n result.server = server.toJSON()\n }\n if (Array.isArray(this.authorization)) {\n result.authorization = this.authorization.map((i) => i.toJSON())\n }\n return result\n }\n\n addVariable(name: string, value: unknown): Property\n addVariable(variable: IProperty): Property\n\n /**\n * Adds a new variable to the list of variables.\n * It makes sure the variables property is initialized.\n */\n addVariable(variableOrName: IProperty | string, value?: unknown): Property {\n if (!Array.isArray(this.variables)) {\n this.variables = []\n }\n let prop: Property\n if (typeof variableOrName === 'string') {\n prop = Property.fromType(variableOrName, value)\n } else {\n prop = new Property(variableOrName)\n }\n this.variables.push(prop)\n return prop\n }\n\n /**\n * Reads the server configuration.\n * @param force When set then it creates a server instance when missing.\n */\n getServer(force?: boolean): Server | undefined {\n if (!this.server && !force) {\n return undefined\n }\n\n if (!this.server) {\n this.server = new Server()\n }\n return this.server\n }\n\n /**\n * Adds a new server definition.\n * @param uriOrInfo Either URI to create the server from or the definition of the server.\n */\n addServer(uriOrInfo: string | IServer): Server {\n let srv: Server\n if (typeof uriOrInfo === 'string') {\n srv = Server.fromUri(uriOrInfo)\n } else {\n srv = new Server(uriOrInfo)\n }\n this.server = srv\n return srv\n }\n\n /**\n * Makes a copy of this environment\n * @param opts Cloning options.\n */\n clone(opts: IEnvironmentCloneOptions = {}): Environment {\n const copy = new Environment(this.toJSON())\n if (!opts.withoutRevalidate) {\n copy.key = nanoid()\n }\n return copy\n }\n\n /**\n * Creates a map of variables from this environment.\n *\n * @param readStrategy The read strategy. When `lastWins` (default) then a variable with the same name overwrites\n * the previously set variable. The `firstWins` stops overwriting values once a variable is set.\n * @returns An object containing variables defined in this environment\n */\n variablesMap(readStrategy: 'lastWins' | 'firstWins' = 'lastWins'): Record<string, string> {\n const result: Record<string, string> = {}\n const { variables = [] } = this\n variables.forEach((item) => {\n const { enabled, name, value } = item\n if (!enabled || !name || value === undefined) {\n return\n }\n if (readStrategy === 'firstWins' && name in result) {\n return\n }\n result[name] = value as string\n })\n return result\n }\n\n /**\n * @returns A list of unique properties. The last defined property wins (with the same name).\n */\n uniqueProperties(): Property[] {\n const flatProperties: Property[] = []\n if (this.variables) {\n for (const prop of this.variables) {\n const index = flatProperties.findIndex((i) => i.name === prop.name)\n if (index >= 0) {\n flatProperties.splice(index, 1)\n }\n flatProperties.push(prop)\n }\n }\n return flatProperties\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Environment.js","sourceRoot":"","sources":["../../../src/models/Environment.ts"],"names":[],"mappings":"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","sourcesContent":["import { Property, IProperty } from './Property.js'\nimport { Server, IServer } from './Server.js'\nimport { IThing, Thing } from './Thing.js'\nimport { nanoid } from '../nanoid.js'\nimport { ARCVariable } from './legacy/models/Variable.js'\nimport { IRequestAuthorization, RequestAuthorization } from './RequestAuthorization.js'\n\nexport const Kind = 'Core#Environment'\n\nexport interface IEnvironmentCloneOptions {\n /**\n * By default it revalidates (re-creates) keys in the environment.\n * Set this to true to not make any changes to the keys.\n */\n withoutRevalidate?: boolean\n}\n\n/**\n * A project environment definition.\n */\nexport interface IEnvironment {\n kind: typeof Kind\n /**\n * The identifier of the environment.\n */\n key: string\n /**\n * The environment's meta info.\n */\n info: IThing\n /**\n * The server's definition for the environment.\n * When a server is defined for the environment then all request that have no\n * absolute URL will inherit this server configuration.\n */\n server?: IServer\n /**\n * The variables added to this project.\n * It overrides application defined variables.\n */\n variables: IProperty[]\n /**\n * When set this configuration does not allow to be extended by the parent object's environment configuration.\n * By default an environment can be extended by the parent object's values.\n */\n encapsulated?: boolean\n /**\n * The security to be applied to all requests that are going to this environment.\n */\n authorization?: IRequestAuthorization[]\n}\n\n/**\n * An environment is applied to a project or a folder.\n * It consists of a list of variables and a server configuration.\n * This allows to apply the runtime configuration just by changing the environment.\n */\nexport class Environment {\n kind = Kind\n key = ''\n /**\n * The name of the environment.\n */\n info: Thing = Thing.fromName('')\n /**\n * The variables added to this project.\n * It overrides application defined variables.\n */\n variables: Property[] = []\n /**\n * The server's definition for the environment.\n * When a server is defined for the environment then all request that have no\n * absolute URL will inherit this server configuration.\n */\n server?: Server\n /**\n * When set this configuration does not allow to be extended by the parent object's environment configuration.\n * By default an environment can be extended by the parent object's values.\n *\n * When encapsulation is disabled you can, for example, skip server definition and only overwrite variables.\n */\n encapsulated = false\n /**\n * The security to be applied to all requests that are going to this server.\n */\n authorization?: RequestAuthorization[]\n\n /**\n * Creates a new Environment object from a name.\n *\n * @param name The name to set.\n */\n static fromName(name: string): Environment {\n const key = nanoid()\n const info = Thing.fromName(name)\n const definition = new Environment({\n key,\n kind: Kind,\n info: info.toJSON(),\n variables: [],\n })\n return definition\n }\n\n static fromLegacyVariables(name: string, variables: ARCVariable[]): Environment {\n const key = nanoid()\n const info = Thing.fromName(name)\n const definition = new Environment({\n key,\n kind: Kind,\n info: info.toJSON(),\n variables: [],\n })\n variables.forEach((i) => {\n const name = i.variable || i.name\n const property = Property.fromApiType(i)\n property.name = name\n definition.variables.push(property)\n })\n return definition\n }\n\n /**\n * @param input The environment definition used to restore the state.\n */\n constructor(input?: string | IEnvironment) {\n let init: IEnvironment\n if (typeof input === 'string') {\n init = JSON.parse(input)\n } else if (typeof input === 'object') {\n init = input\n } else {\n init = {\n kind: Kind,\n key: nanoid(),\n info: Thing.fromName('').toJSON(),\n variables: [],\n }\n }\n this.new(init)\n }\n\n /**\n * Creates a new environment clearing anything that is so far defined.\n *\n * Note, this throws an error when the environment is not an environment.\n */\n new(init: IEnvironment): void {\n if (!Environment.isEnvironment(init)) {\n throw new Error(`Not an environment.`)\n }\n const { key = nanoid(), variables, info, server, encapsulated = false, authorization } = init\n this.kind = Kind\n this.key = key\n this.encapsulated = encapsulated\n if (Array.isArray(authorization)) {\n this.authorization = authorization.map((i) => new RequestAuthorization(i))\n } else {\n this.authorization = undefined\n }\n if (Array.isArray(variables)) {\n this.variables = variables.map((i) => new Property(i))\n } else {\n this.variables = []\n }\n if (server) {\n this.server = new Server(server)\n } else {\n this.server = undefined\n }\n if (info) {\n this.info = new Thing(info)\n } else {\n this.info = Thing.fromName('')\n }\n }\n\n /**\n * Checks whether the input is a definition of a environment.\n */\n static isEnvironment(input: unknown): boolean {\n const typed = input as IEnvironment\n if (!input || typed.kind !== Kind) {\n return false\n }\n return true\n }\n\n toJSON(): IEnvironment {\n const { variables = [], encapsulated = false, server } = this\n const result: IEnvironment = {\n kind: Kind,\n key: this.key,\n info: this.info.toJSON(),\n variables: variables.map((v) => v.toJSON()),\n encapsulated,\n }\n if (server) {\n result.server = server.toJSON()\n }\n if (Array.isArray(this.authorization)) {\n result.authorization = this.authorization.map((i) => i.toJSON())\n }\n return result\n }\n\n addVariable(name: string, value: unknown): Property\n addVariable(variable: IProperty): Property\n\n /**\n * Adds a new variable to the list of variables.\n * It makes sure the variables property is initialized.\n */\n addVariable(variableOrName: IProperty | string, value?: unknown): Property {\n if (!Array.isArray(this.variables)) {\n this.variables = []\n }\n let prop: Property\n if (typeof variableOrName === 'string') {\n prop = Property.fromType(variableOrName, value)\n } else {\n prop = new Property(variableOrName)\n }\n this.variables.push(prop)\n return prop\n }\n\n /**\n * Reads the server configuration.\n * @param force When set then it creates a server instance when missing.\n */\n getServer(force?: boolean): Server | undefined {\n if (!this.server && !force) {\n return undefined\n }\n\n if (!this.server) {\n this.server = new Server()\n }\n return this.server\n }\n\n /**\n * Adds a new server definition.\n * @param uriOrInfo Either URI to create the server from or the definition of the server.\n */\n addServer(uriOrInfo: string | IServer): Server {\n let srv: Server\n if (typeof uriOrInfo === 'string') {\n srv = Server.fromUri(uriOrInfo)\n } else {\n srv = new Server(uriOrInfo)\n }\n this.server = srv\n return srv\n }\n\n /**\n * Makes a copy of this environment\n * @param opts Cloning options.\n */\n clone(opts: IEnvironmentCloneOptions = {}): Environment {\n const copy = new Environment(this.toJSON())\n if (!opts.withoutRevalidate) {\n copy.key = nanoid()\n }\n return copy\n }\n\n /**\n * Creates a map of variables from this environment.\n *\n * @param readStrategy The read strategy. When `lastWins` (default) then a variable with the same name overwrites\n * the previously set variable. The `firstWins` stops overwriting values once a variable is set.\n * @returns An object containing variables defined in this environment\n */\n variablesMap(readStrategy: 'lastWins' | 'firstWins' = 'lastWins'): Record<string, string> {\n const result: Record<string, string> = {}\n const { variables = [] } = this\n variables.forEach((item) => {\n const { enabled, name, value } = item\n if (!enabled || !name || value === undefined) {\n return\n }\n if (readStrategy === 'firstWins' && name in result) {\n return\n }\n result[name] = value as string\n })\n return result\n }\n\n /**\n * @returns A list of unique properties. The last defined property wins (with the same name).\n */\n uniqueProperties(): Property[] {\n const flatProperties: Property[] = []\n if (this.variables) {\n for (const prop of this.variables) {\n const index = flatProperties.findIndex((i) => i.name === prop.name)\n if (index >= 0) {\n flatProperties.splice(index, 1)\n }\n flatProperties.push(prop)\n }\n }\n return flatProperties\n }\n}\n"]}
|
|
@@ -15,9 +15,8 @@ export declare class Folder extends File {
|
|
|
15
15
|
* Creates a new Folder object from a name.
|
|
16
16
|
*
|
|
17
17
|
* @param name The name to set.
|
|
18
|
-
* @param owner The user id that is the owner of the folder.
|
|
19
18
|
*/
|
|
20
|
-
static fromName(name: string
|
|
19
|
+
static fromName(name: string): Folder;
|
|
21
20
|
/**
|
|
22
21
|
* @param input The environment definition used to restore the state.
|
|
23
22
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Folder.d.ts","sourceRoot":"","sources":["../../../src/models/Folder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC;;GAEG;AACH,MAAM,WAAW,OAAQ,SAAQ,KAAK;IACpC,IAAI,EAAE,OAAO,UAAU,CAAA;CACxB;AAED;;GAEG;AACH,qBAAa,MAAO,SAAQ,IAAI;IACrB,IAAI,SAAa;IAE1B
|
|
1
|
+
{"version":3,"file":"Folder.d.ts","sourceRoot":"","sources":["../../../src/models/Folder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC;;GAEG;AACH,MAAM,WAAW,OAAQ,SAAQ,KAAK;IACpC,IAAI,EAAE,OAAO,UAAU,CAAA;CACxB;AAED;;GAEG;AACH,qBAAa,MAAO,SAAQ,IAAI;IACrB,IAAI,SAAa;IAE1B;;;;OAIG;WACa,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI9C;;OAEG;gBACS,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAqBpC;;OAEG;IACM,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IASjC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAQ/B,MAAM,IAAI,OAAO;CAO3B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { File } from './store/File.js';
|
|
2
|
-
import { nanoid } from 'nanoid';
|
|
2
|
+
import { nanoid } from '../nanoid.js';
|
|
3
3
|
import { Thing } from './Thing.js';
|
|
4
4
|
import { FolderKind } from './kinds.js';
|
|
5
5
|
/**
|
|
@@ -11,10 +11,9 @@ export class Folder extends File {
|
|
|
11
11
|
* Creates a new Folder object from a name.
|
|
12
12
|
*
|
|
13
13
|
* @param name The name to set.
|
|
14
|
-
* @param owner The user id that is the owner of the folder.
|
|
15
14
|
*/
|
|
16
|
-
static fromName(name
|
|
17
|
-
return super.fromName(name,
|
|
15
|
+
static fromName(name) {
|
|
16
|
+
return super.fromName(name, FolderKind);
|
|
18
17
|
}
|
|
19
18
|
/**
|
|
20
19
|
* @param input The environment definition used to restore the state.
|
|
@@ -32,7 +31,6 @@ export class Folder extends File {
|
|
|
32
31
|
init = {
|
|
33
32
|
kind: FolderKind,
|
|
34
33
|
key: nanoid(),
|
|
35
|
-
organization: '',
|
|
36
34
|
info: Thing.fromName('').toJSON(),
|
|
37
35
|
parents: [],
|
|
38
36
|
permissionIds: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Folder.js","sourceRoot":"","sources":["../../../src/models/Folder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Folder.js","sourceRoot":"","sources":["../../../src/models/Folder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AASvC;;GAEG;AACH,MAAM,OAAO,MAAO,SAAQ,IAAI;IACrB,IAAI,GAAG,UAAU,CAAA;IAE1B;;;;OAIG;IACH,MAAM,CAAU,QAAQ,CAAC,IAAY;QACnC,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAW,CAAA;IACnD,CAAC;IAED;;OAEG;IACH,YAAY,KAAwB;QAClC,KAAK,EAAE,CAAA;QACP,IAAI,IAAa,CAAA;QACjB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,GAAG,KAAK,CAAA;QACd,CAAC;aAAM,CAAC;YACN,IAAI,GAAG;gBACL,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,MAAM,EAAE;gBACb,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;gBACjC,OAAO,EAAE,EAAE;gBACX,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,EAAE;gBACf,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;aACjD,CAAA;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IAED;;OAEG;IACM,GAAG,CAAC,IAAa;QACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;QAClC,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAc;QAC5B,MAAM,KAAK,GAAG,KAAgB,CAAA;QAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACxC,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEQ,MAAM;QACb,MAAM,MAAM,GAAY;YACtB,GAAG,KAAK,CAAC,MAAM,EAAE;YACjB,IAAI,EAAE,UAAU;SACjB,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF","sourcesContent":["import { IFile, File } from './store/File.js'\nimport { nanoid } from '../nanoid.js'\nimport { Thing } from './Thing.js'\nimport { FolderKind } from './kinds.js'\n\n/**\n * A definition of a folder.\n */\nexport interface IFolder extends IFile {\n kind: typeof FolderKind\n}\n\n/**\n * A definition of a folder.\n */\nexport class Folder extends File {\n override kind = FolderKind\n\n /**\n * Creates a new Folder object from a name.\n *\n * @param name The name to set.\n */\n static override fromName(name: string): Folder {\n return super.fromName(name, FolderKind) as Folder\n }\n\n /**\n * @param input The environment definition used to restore the state.\n */\n constructor(input?: string | IFolder) {\n super()\n let init: IFolder\n if (typeof input === 'string') {\n init = JSON.parse(input)\n } else if (typeof input === 'object') {\n init = input\n } else {\n init = {\n kind: FolderKind,\n key: nanoid(),\n info: Thing.fromName('').toJSON(),\n parents: [],\n permissionIds: [],\n permissions: [],\n lastModified: { user: '', time: 0, byMe: false },\n }\n }\n this.new(init)\n }\n\n /**\n * Creates a new environment clearing anything that is so far defined.\n */\n override new(init: IFolder): this {\n if (!Folder.isFolder(init)) {\n throw new Error(`Not a folder.`)\n }\n super.new(init)\n this.kind = FolderKind\n return this\n }\n\n /**\n * Checks whether the input is a definition of a folder.\n */\n static isFolder(input: unknown): boolean {\n const typed = input as IFolder\n if (!input || typed.kind !== FolderKind) {\n return false\n }\n return true\n }\n\n override toJSON(): IFolder {\n const result: IFolder = {\n ...super.toJSON(),\n kind: FolderKind,\n }\n return result\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HostRule.js","sourceRoot":"","sources":["../../../src/models/HostRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"HostRule.js","sourceRoot":"","sources":["../../../src/models/HostRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,MAAM,CAAC,MAAM,IAAI,GAAG,eAAe,CAAA;AA8BnC,MAAM,OAAO,QAAQ;IACnB;;OAEG;IACH,GAAG,GAAG,EAAE,CAAA;IAER,IAAI,GAAG,IAAI,CAAA;IACX;;OAEG;IACH,IAAI,GAAG,EAAE,CAAA;IACT;;OAEG;IACH,EAAE,GAAG,EAAE,CAAA;IACP;;OAEG;IACH,OAAO,CAAU;IACjB;;OAEG;IACH,OAAO,CAAS;IAEhB,MAAM,CAAC,UAAU,CAAC,IAAY,EAAE,EAAU;QACxC,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC;YAC1B,GAAG,EAAE,MAAM,EAAE;YACb,IAAI,EAAE,IAAI;YACV,IAAI;YACJ,EAAE;YACF,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACH,YAAY,KAA0B;QACpC,IAAI,IAAe,CAAA;QACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,GAAG,KAAK,CAAA;QACd,CAAC;aAAM,CAAC;YACN,IAAI,GAAG;gBACL,GAAG,EAAE,MAAM,EAAE;gBACb,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,EAAE;gBACR,EAAE,EAAE,EAAE;aACP,CAAA;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,IAAe;QACjB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACpC,CAAC;QACD,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM,EAAE,EAAE,GAAG,IAAI,CAAA;QACrE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAc;QAC9B,MAAM,KAAK,GAAG,KAAkB,CAAA;QAChC,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM;QACJ,MAAM,MAAM,GAAc;YACxB,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;SACZ,CAAA;QACD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC/B,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC/B,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,KAAa,EAAE,KAAiB;QAChD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAA;QACd,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACjD,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,GAAG,MAAM,CAAA;YAChB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,GAAW,EAAE,IAAc;QAC7C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACpC,OAAM;QACR,CAAC;QACD,MAAM,EAAE,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,OAAM;QACR,CAAC;QACD,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;IACjC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,KAAa;QAC/B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACpC,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAChC,CAAC;CACF","sourcesContent":["import { nanoid } from '../nanoid.js'\n\nexport const Kind = 'Core#HostRule'\n\n/**\n * API Client host rule definition.\n */\nexport interface IHostRule {\n /**\n * The key of the rule.\n */\n key: string\n\n kind?: typeof Kind\n /**\n * The from rule (may contain asterisks)\n */\n from: string\n /**\n * The replacement value\n */\n to: string\n /**\n * When false the rule is ignored\n */\n enabled?: boolean\n /**\n * optional rule description\n */\n comment?: string\n}\n\nexport class HostRule {\n /**\n * The key of the rule.\n */\n key = ''\n\n kind = Kind\n /**\n * The from rule (may contain asterisks)\n */\n from = ''\n /**\n * replacement value\n */\n to = ''\n /**\n * if false the rule is ignored\n */\n enabled?: boolean\n /**\n * optional rule description\n */\n comment?: string\n\n static fromValues(from: string, to: string): HostRule {\n const result = new HostRule({\n key: nanoid(),\n kind: Kind,\n from,\n to,\n enabled: true,\n })\n return result\n }\n\n /**\n * @param input The thing definition used to restore the state.\n */\n constructor(input?: string | IHostRule) {\n let init: IHostRule\n if (typeof input === 'string') {\n init = JSON.parse(input)\n } else if (typeof input === 'object') {\n init = input\n } else {\n init = {\n key: nanoid(),\n kind: Kind,\n from: '',\n to: '',\n }\n }\n this.new(init)\n }\n\n /**\n * Creates a new thing clearing anything that is so far defined.\n *\n * Note, this throws an error when the server is not an API Client thing.\n */\n new(init: IHostRule): void {\n if (!HostRule.isHostRule(init)) {\n throw new Error(`Not a HostRule.`)\n }\n const { from = '', to = '', enabled, comment, key = nanoid() } = init\n this.kind = Kind\n this.key = key\n this.from = from\n this.to = to\n this.enabled = enabled\n this.comment = comment\n }\n\n /**\n * Checks whether the input is a definition of a host rule.\n */\n static isHostRule(input: unknown): boolean {\n const typed = input as IHostRule\n if (input && typed.kind && typed.kind === Kind) {\n return true\n }\n return false\n }\n\n toJSON(): IHostRule {\n const result: IHostRule = {\n kind: Kind,\n key: this.key,\n from: this.from,\n to: this.to,\n }\n if (typeof this.enabled === 'boolean') {\n result.enabled = this.enabled\n }\n if (this.comment) {\n result.comment = this.comment\n }\n return result\n }\n\n /**\n * Applies `hosts` rules to the URL.\n *\n * @param value An URL to apply the rules to\n * @param rules List of host rules. It is a list of objects containing `from` and `to` properties.\n * @return Evaluated URL with hosts rules.\n */\n static applyHosts(value: string, rules: HostRule[]): string {\n if (!rules || !rules.length) {\n return value\n }\n for (const rule of rules) {\n const result = HostRule.evaluateRule(value, rule)\n if (result) {\n value = result\n }\n }\n return value\n }\n\n /**\n * Evaluates hosts rule and applies it to the `url`.\n * @param {string} url The URL to evaluate\n * @param {HostRule} rule The host rule definition\n * @return {string} Processed url.\n */\n static evaluateRule(url: string, rule: HostRule): string | undefined {\n if (!rule || !rule.from || !rule.to) {\n return\n }\n const re = HostRule.createRuleRe(rule.from)\n if (!re.test(url)) {\n return\n }\n return url.replace(re, rule.to)\n }\n\n /**\n * @param input Rule body\n * @return Regular expression for the rule.\n */\n static createRuleRe(input: string): RegExp {\n input = input.replace(/\\*/g, '(.*)')\n return new RegExp(input, 'gi')\n }\n}\n"]}
|
|
@@ -11,7 +11,7 @@ import { ProjectFolder } from './ProjectFolder.js';
|
|
|
11
11
|
import { ProjectRequest, Kind as ProjectRequestKind } from './ProjectRequest.js';
|
|
12
12
|
import { ProjectSchema } from './ProjectSchema.js';
|
|
13
13
|
import { Request } from './Request.js';
|
|
14
|
-
import { nanoid } from 'nanoid';
|
|
14
|
+
import { nanoid } from '../nanoid.js';
|
|
15
15
|
import { PostmanDataTransformer } from './transformers/PostmanDataTransformer.js';
|
|
16
16
|
import { Certificate } from './ClientCertificate.js';
|
|
17
17
|
import { ProjectFolderKind } from './kinds.js';
|