init
This commit is contained in:
356
backend/vendor/symfony/dependency-injection/Loader/schema/services.schema.json
vendored
Normal file
356
backend/vendor/symfony/dependency-injection/Loader/schema/services.schema.json
vendored
Normal file
@@ -0,0 +1,356 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "Symfony Parameters and Services Configuration",
|
||||
"description": "Defines application parameters and services, including imports and environment-specific conditionals.",
|
||||
"$comment": "Root allows extension namespaces (framework:, doctrine:, etc.) via additionalProperties: true.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"imports": {
|
||||
"type": "array",
|
||||
"description": "Import other configuration resources.",
|
||||
"$comment": "YAML examples:\n- { resource: 'services.yaml' }\n- { resource: packages/dev/services.yaml, ignore_errors: true }\n- 'other_file.yaml'",
|
||||
"items": {
|
||||
"oneOf": [
|
||||
{ "type": "string" },
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"resource": { "type": "string" },
|
||||
"type": { "type": ["string", "null"] },
|
||||
"ignore_errors": { "type": "boolean" }
|
||||
},
|
||||
"required": ["resource"],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"parameters": {
|
||||
"type": "object",
|
||||
"description": "Defines application-wide parameters.",
|
||||
"$comment": "Values support scalars, arrays and objects.",
|
||||
"patternProperties": {
|
||||
"^.+$": { "$ref": "#/$defs/parameterValue" }
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"services": {
|
||||
"type": "object",
|
||||
"description": "Defines your application services.",
|
||||
"$comment": "Service ids accept multiple shapes: object (full definition), '@alias' string (alias), null (empty definition), prototype (resource/namespace), stack, and short array syntax for arguments.",
|
||||
"properties": {
|
||||
"_defaults": {
|
||||
"$ref": "#/$defs/serviceDefaults"
|
||||
},
|
||||
"_instanceof": {
|
||||
"type": "object",
|
||||
"patternProperties": {
|
||||
"^.+$": { "$ref": "#/$defs/serviceInstanceof" }
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"patternProperties": {
|
||||
"^(?:[A-Za-z_\\x7f-\\xff][A-Za-z0-9_\\x7f-\\xff]*\\\\)+[A-Za-z_\\x7f-\\xff][A-Za-z0-9_\\x7f-\\xff]*$": {
|
||||
"oneOf": [
|
||||
{ "$ref": "#/$defs/serviceConcrete" },
|
||||
{ "$ref": "#/$defs/serviceAliasObject" },
|
||||
{ "$ref": "#/$defs/servicePrototype" },
|
||||
{ "$ref": "#/$defs/serviceStack" },
|
||||
{ "$ref": "#/$defs/serviceShortSyntax" },
|
||||
{ "type": "null" },
|
||||
{ "type": "string", "pattern": "^@.+" }
|
||||
],
|
||||
"$comment": "FQCN service ids: short array syntax is allowed here."
|
||||
},
|
||||
"^(?!_).+$": {
|
||||
"oneOf": [
|
||||
{ "$ref": "#/$defs/serviceConcrete" },
|
||||
{ "$ref": "#/$defs/serviceAliasObject" },
|
||||
{ "$ref": "#/$defs/servicePrototype" },
|
||||
{ "$ref": "#/$defs/serviceStack" },
|
||||
{ "type": "null" },
|
||||
{ "type": "string", "pattern": "^@.+" }
|
||||
],
|
||||
"$comment": "Non-FQCN ids: short array syntax is not allowed."
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"patternProperties": {
|
||||
"^when@.+$": {
|
||||
"$ref": "#",
|
||||
"description": "A container for parameters and services that are only loaded in a specific environment."
|
||||
}
|
||||
},
|
||||
"additionalProperties": true,
|
||||
"$defs": {
|
||||
"parameterValue": {
|
||||
"oneOf": [
|
||||
{ "type": "string" },
|
||||
{ "type": "number" },
|
||||
{ "type": "boolean" },
|
||||
{ "type": "array" },
|
||||
{ "type": "object" },
|
||||
{ "type": "null" }
|
||||
]
|
||||
},
|
||||
"scalarValue": {
|
||||
"oneOf": [
|
||||
{ "type": "string" },
|
||||
{ "type": "number" },
|
||||
{ "type": "boolean" },
|
||||
{ "type": "null" }
|
||||
]
|
||||
},
|
||||
"fqcn": {
|
||||
"type": "string",
|
||||
"pattern": "^(?:\\\\)?(?:[A-Za-z_\\\\x7f-\\\\xff][A-Za-z0-9_\\\\x7f-\\\\xff]*\\\\)+[A-Za-z_\\\\x7f-\\\\xff][A-Za-z0-9_\\\\x7f-\\\\xff]*$",
|
||||
"$comment": "Fully-qualified class name, optional leading backslash; requires at least one namespace separator."
|
||||
},
|
||||
"arguments": {
|
||||
"$comment": "Arguments can be an array (positional) or a map (named).",
|
||||
"oneOf": [
|
||||
{ "type": "array", "items": { "$ref": "#/$defs/parameterValue" } },
|
||||
{ "type": "object", "additionalProperties": { "$ref": "#/$defs/parameterValue" } }
|
||||
]
|
||||
},
|
||||
"tags": {
|
||||
"$comment": "YAML examples:\n- ['kernel.event_subscriber', { name: 'kernel.event_listener', event: 'kernel.request' }, { my_tag: { attr: 1 } }].",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"oneOf": [
|
||||
{ "type": "string" },
|
||||
{
|
||||
"type": "object",
|
||||
"properties": { "name": { "type": "string" } },
|
||||
"required": ["name"],
|
||||
"additionalProperties": true
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"minProperties": 1,
|
||||
"maxProperties": 1,
|
||||
"additionalProperties": {
|
||||
"type": "object",
|
||||
"additionalProperties": { "$ref": "#/$defs/parameterValue" }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"calls": {
|
||||
"$comment": "YAML examples:\n- ['setFoo', ['@bar'], true]\n- { method: 'setFoo', arguments: ['@bar'], returns_clone: true }\n- { setFoo: ['@bar'] }\n- { setFoo: !returns_clone ['@bar'] } (special YAML tag)",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"maxItems": 3,
|
||||
"items": [
|
||||
{ "type": "string" },
|
||||
{
|
||||
"oneOf": [
|
||||
{ "type": "array", "items": { "$ref": "#/$defs/parameterValue" } },
|
||||
{ "type": "object", "additionalProperties": { "$ref": "#/$defs/parameterValue" } }
|
||||
]
|
||||
},
|
||||
{ "type": "boolean" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"method": { "type": "string" },
|
||||
"arguments": { "$ref": "#/$defs/arguments" },
|
||||
"returns_clone": { "type": "boolean" }
|
||||
},
|
||||
"required": ["method"],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"minProperties": 1,
|
||||
"maxProperties": 1,
|
||||
"additionalProperties": { "$ref": "#/$defs/arguments" }
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"deprecation": {
|
||||
"$comment": "YamlFileLoader requires an object with 'package' and 'version'.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"package": { "type": "string" },
|
||||
"version": { "type": "string" },
|
||||
"message": { "type": "string" }
|
||||
},
|
||||
"required": ["package", "version"],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"callable": {
|
||||
"$comment": "Either 'Class::method' or ['Class', 'method'].",
|
||||
"oneOf": [
|
||||
{ "type": "string" },
|
||||
{
|
||||
"type": "array",
|
||||
"minItems": 2,
|
||||
"maxItems": 2,
|
||||
"items": [ { "type": "string" }, { "type": "string" } ]
|
||||
}
|
||||
]
|
||||
},
|
||||
"serviceShortSyntax": {
|
||||
"$comment": "Short syntax: service defined as arguments array. YAML example: App\\SomeService: ['@dependency', 'literal', 123]",
|
||||
"type": "array",
|
||||
"items": { "$ref": "#/$defs/parameterValue" }
|
||||
},
|
||||
"factoryCallable": {
|
||||
"$comment": "Either '@service', 'Class::method', or [classOrService, method]. For ['null', method] the class is resolved from the service class when using 'constructor'.",
|
||||
"oneOf": [
|
||||
{ "type": "string" },
|
||||
{
|
||||
"type": "array",
|
||||
"minItems": 2,
|
||||
"maxItems": 2,
|
||||
"items": [ { "type": ["string", "null"] }, { "type": "string" } ]
|
||||
}
|
||||
]
|
||||
},
|
||||
"serviceAliasObject": {
|
||||
"$comment": "Allowed keys for aliases are only 'alias', 'public', 'deprecated'.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"alias": { "type": "string" },
|
||||
"public": { "type": "boolean" },
|
||||
"deprecated": { "$ref": "#/$defs/deprecation" }
|
||||
},
|
||||
"required": ["alias"],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"serviceConcrete": {
|
||||
"$comment": "'constructor' cannot be used together with 'factory'. If 'from_callable' is used, many other keys are not allowed (see YamlFileLoader).",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"class": { "type": "string" },
|
||||
"file": { "type": "string" },
|
||||
"parent": { "type": "string" },
|
||||
"shared": { "type": "boolean" },
|
||||
"synthetic": { "type": "boolean" },
|
||||
"lazy": { "oneOf": [ { "type": "boolean" }, { "$ref": "#/$defs/fqcn" } ] },
|
||||
"public": { "type": "boolean" },
|
||||
"abstract": { "type": "boolean" },
|
||||
"deprecated": { "$ref": "#/$defs/deprecation" },
|
||||
"factory": { "$ref": "#/$defs/factoryCallable" },
|
||||
"configurator": { "$ref": "#/$defs/callable" },
|
||||
"arguments": { "$ref": "#/$defs/arguments" },
|
||||
"properties": { "type": "object", "additionalProperties": { "$ref": "#/$defs/parameterValue" } },
|
||||
"calls": { "$ref": "#/$defs/calls" },
|
||||
"tags": { "$ref": "#/$defs/tags" },
|
||||
"resource_tags": { "$ref": "#/$defs/tags" },
|
||||
"decorates": { "type": "string" },
|
||||
"decoration_inner_name": { "type": "string" },
|
||||
"decoration_priority": { "type": "integer" },
|
||||
"decoration_on_invalid": { "oneOf": [ { "enum": ["exception", "ignore"] }, { "type": "null" } ], "$comment": "Use null (without quotes) for NULL_ON_INVALID_REFERENCE." },
|
||||
"autowire": { "type": "boolean" },
|
||||
"autoconfigure": { "type": "boolean" },
|
||||
"bind": { "type": "object", "additionalProperties": { "$ref": "#/$defs/parameterValue" } },
|
||||
"constructor": { "type": "string" },
|
||||
"from_callable": { "$ref": "#/$defs/parameterValue", "$comment": "Will be wrapped by factory ['Closure','fromCallable'] and sets lazy=true unless class is 'Closure'." }
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"servicePrototype": {
|
||||
"$comment": "Prototype definitions register classes by scanning directories. 'namespace' requires 'resource'.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"resource": { "type": "string" },
|
||||
"namespace": { "type": "string" },
|
||||
"exclude": {
|
||||
"oneOf": [
|
||||
{ "type": "string" },
|
||||
{ "type": "array", "items": { "type": "string" } }
|
||||
]
|
||||
},
|
||||
"parent": { "type": "string" },
|
||||
"shared": { "type": "boolean" },
|
||||
"lazy": { "oneOf": [ { "type": "boolean" }, { "$ref": "#/$defs/fqcn" } ] },
|
||||
"public": { "type": "boolean" },
|
||||
"abstract": { "type": "boolean" },
|
||||
"deprecated": { "$ref": "#/$defs/deprecation" },
|
||||
"factory": { "$ref": "#/$defs/factoryCallable" },
|
||||
"arguments": { "$ref": "#/$defs/arguments" },
|
||||
"properties": { "type": "object", "additionalProperties": { "$ref": "#/$defs/parameterValue" } },
|
||||
"configurator": { "$ref": "#/$defs/callable" },
|
||||
"calls": { "$ref": "#/$defs/calls" },
|
||||
"tags": { "$ref": "#/$defs/tags" },
|
||||
"resource_tags": { "$ref": "#/$defs/tags" },
|
||||
"autowire": { "type": "boolean" },
|
||||
"autoconfigure": { "type": "boolean" },
|
||||
"bind": { "type": "object", "additionalProperties": { "$ref": "#/$defs/parameterValue" } },
|
||||
"constructor": { "type": "string" }
|
||||
},
|
||||
"required": ["resource"],
|
||||
"allOf": [
|
||||
{ "anyOf": [ { "not": { "required": ["namespace"] } }, { "required": ["resource"] } ] }
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"serviceStack": {
|
||||
"$comment": "A stack builds a service pipeline from multiple frames.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"stack": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"oneOf": [
|
||||
{ "$ref": "#/$defs/serviceConcrete" },
|
||||
{ "$ref": "#/$defs/serviceAliasObject" },
|
||||
{ "$ref": "#/$defs/servicePrototype" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"public": { "type": "boolean" },
|
||||
"deprecated": { "$ref": "#/$defs/deprecation" }
|
||||
},
|
||||
"required": ["stack"],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"serviceDefaults": {
|
||||
"$comment": "Defaults applied to services declared in the current file.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"public": { "type": "boolean" },
|
||||
"tags": { "$ref": "#/$defs/tags" },
|
||||
"resource_tags": { "$ref": "#/$defs/tags" },
|
||||
"autowire": { "type": "boolean" },
|
||||
"autoconfigure": { "type": "boolean" },
|
||||
"bind": {
|
||||
"type": "object",
|
||||
"additionalProperties": { "$ref": "#/$defs/parameterValue" }
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"serviceInstanceof": {
|
||||
"$comment": "Applied to services declared in the current file whose class matches the key (interface or parent class).",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"shared": { "type": "boolean" },
|
||||
"lazy": { "oneOf": [ { "type": "boolean" }, { "$ref": "#/$defs/fqcn" } ] },
|
||||
"public": { "type": "boolean" },
|
||||
"properties": { "type": "object", "additionalProperties": { "$ref": "#/$defs/parameterValue" } },
|
||||
"configurator": { "$ref": "#/$defs/callable" },
|
||||
"calls": { "$ref": "#/$defs/calls" },
|
||||
"tags": { "$ref": "#/$defs/tags" },
|
||||
"resource_tags": { "$ref": "#/$defs/tags" },
|
||||
"autowire": { "type": "boolean" },
|
||||
"bind": { "type": "object", "additionalProperties": { "$ref": "#/$defs/parameterValue" } },
|
||||
"constructor": { "type": "string" }
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user