sdc-build-wp 4.1.0 → 4.1.2
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/composer.json +2 -3
- package/composer.lock +3 -313
- package/index.js +38 -21
- package/lib/blocks.js +8 -6
- package/lib/style.js +17 -0
- package/package.json +1 -1
- package/vendor/composer/autoload_classmap.php +0 -37
- package/vendor/composer/autoload_psr4.php +0 -1
- package/vendor/composer/autoload_real.php +2 -0
- package/vendor/composer/autoload_static.php +0 -53
- package/vendor/composer/installed.json +1 -329
- package/vendor/composer/installed.php +3 -39
- package/vendor/composer/platform_check.php +26 -0
- package/lib/bustCache.js +0 -14
- package/vendor/dealerdirect/phpcodesniffer-composer-installer/LICENSE.md +0 -22
- package/vendor/dealerdirect/phpcodesniffer-composer-installer/README.md +0 -285
- package/vendor/dealerdirect/phpcodesniffer-composer-installer/composer.json +0 -71
- package/vendor/dealerdirect/phpcodesniffer-composer-installer/src/Plugin.php +0 -637
- package/vendor/phpcsstandards/phpcsextra/CHANGELOG.md +0 -590
- package/vendor/phpcsstandards/phpcsextra/LICENSE +0 -165
- package/vendor/phpcsstandards/phpcsextra/Modernize/Docs/FunctionCalls/DirnameStandard.xml +0 -40
- package/vendor/phpcsstandards/phpcsextra/Modernize/Sniffs/FunctionCalls/DirnameSniff.php +0 -382
- package/vendor/phpcsstandards/phpcsextra/Modernize/ruleset.xml +0 -5
- package/vendor/phpcsstandards/phpcsextra/NormalizedArrays/Docs/Arrays/ArrayBraceSpacingStandard.xml +0 -94
- package/vendor/phpcsstandards/phpcsextra/NormalizedArrays/Docs/Arrays/CommaAfterLastStandard.xml +0 -43
- package/vendor/phpcsstandards/phpcsextra/NormalizedArrays/Sniffs/Arrays/ArrayBraceSpacingSniff.php +0 -305
- package/vendor/phpcsstandards/phpcsextra/NormalizedArrays/Sniffs/Arrays/CommaAfterLastSniff.php +0 -226
- package/vendor/phpcsstandards/phpcsextra/NormalizedArrays/ruleset.xml +0 -5
- package/vendor/phpcsstandards/phpcsextra/README.md +0 -573
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Arrays/DisallowShortArraySyntaxStandard.xml +0 -27
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Arrays/DuplicateArrayKeyStandard.xml +0 -44
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Arrays/MixedArrayKeyTypesStandard.xml +0 -40
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Arrays/MixedKeyedUnkeyedArrayStandard.xml +0 -31
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Classes/DisallowAnonClassParenthesesStandard.xml +0 -24
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Classes/DisallowFinalClassStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Classes/ModifierKeywordOrderStandard.xml +0 -27
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Classes/RequireAnonClassParenthesesStandard.xml +0 -23
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Classes/RequireFinalClassStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/CodeAnalysis/ConstructorDestructorReturnStandard.xml +0 -64
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/CodeAnalysis/ForeachUniqueAssignmentStandard.xml +0 -26
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/CodeAnalysis/NoDoubleNegativeStandard.xml +0 -27
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/CodeAnalysis/NoEchoSprintfStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/CodeAnalysis/StaticInFinalClassStandard.xml +0 -43
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Constants/LowercaseClassResolutionKeywordStandard.xml +0 -23
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Constants/ModifierKeywordOrderStandard.xml +0 -30
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Constants/UppercaseMagicConstantsStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/ControlStructures/DisallowAlternativeSyntaxStandard.xml +0 -35
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/ControlStructures/DisallowLonelyIfStandard.xml +0 -49
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/ControlStructures/IfElseDeclarationStandard.xml +0 -37
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Files/SeparateFunctionsFromOOStandard.xml +0 -45
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/FunctionDeclarations/NoLongClosuresStandard.xml +0 -42
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/FunctionDeclarations/RequireFinalMethodsInTraitsStandard.xml +0 -33
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Lists/DisallowLongListSyntaxStandard.xml +0 -23
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Lists/DisallowShortListSyntaxStandard.xml +0 -23
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Namespaces/DisallowCurlyBraceSyntaxStandard.xml +0 -27
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Namespaces/DisallowDeclarationWithoutNameStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Namespaces/EnforceCurlyBraceSyntaxStandard.xml +0 -27
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Namespaces/OneDeclarationPerFileStandard.xml +0 -27
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/NamingConventions/NoReservedKeywordParameterNamesStandard.xml +0 -23
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/OOStructures/AlphabeticExtendsImplementsStandard.xml +0 -27
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/ConcatPositionStandard.xml +0 -31
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/DisallowLogicalAndOrStandard.xml +0 -30
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/DisallowShortTernaryStandard.xml +0 -26
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/DisallowStandalonePostIncrementDecrementStandard.xml +0 -44
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/StrictComparisonsStandard.xml +0 -29
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/Operators/TypeSeparatorSpacingStandard.xml +0 -33
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/PHP/LowercasePHPTagStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/PHP/OneStatementInShortEchoTagStandard.xml +0 -41
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/DisallowMixedGroupUseStandard.xml +0 -39
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/DisallowUseClassStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/DisallowUseConstStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/DisallowUseFunctionStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/KeywordSpacingStandard.xml +0 -29
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/LowercaseFunctionConstStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/NoLeadingBackslashStandard.xml +0 -23
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/UseStatements/NoUselessAliasesStandard.xml +0 -30
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/WhiteSpace/AnonClassKeywordSpacingStandard.xml +0 -31
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/WhiteSpace/CommaSpacingStandard.xml +0 -94
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/WhiteSpace/DisallowInlineTabsStandard.xml +0 -25
- package/vendor/phpcsstandards/phpcsextra/Universal/Docs/WhiteSpace/PrecisionAlignmentStandard.xml +0 -29
- package/vendor/phpcsstandards/phpcsextra/Universal/Helpers/DummyTokenizer.php +0 -60
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Arrays/DisallowShortArraySyntaxSniff.php +0 -89
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Arrays/DuplicateArrayKeySniff.php +0 -297
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Arrays/MixedArrayKeyTypesSniff.php +0 -174
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Arrays/MixedKeyedUnkeyedArraySniff.php +0 -134
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Classes/DisallowAnonClassParenthesesSniff.php +0 -112
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Classes/DisallowFinalClassSniff.php +0 -116
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Classes/ModifierKeywordOrderSniff.php +0 -188
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Classes/RequireAnonClassParenthesesSniff.php +0 -81
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Classes/RequireFinalClassSniff.php +0 -102
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/CodeAnalysis/ConstructorDestructorReturnSniff.php +0 -211
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/CodeAnalysis/ForeachUniqueAssignmentSniff.php +0 -153
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/CodeAnalysis/NoDoubleNegativeSniff.php +0 -269
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/CodeAnalysis/NoEchoSprintfSniff.php +0 -131
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/CodeAnalysis/StaticInFinalClassSniff.php +0 -216
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Constants/LowercaseClassResolutionKeywordSniff.php +0 -106
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Constants/ModifierKeywordOrderSniff.php +0 -199
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Constants/UppercaseMagicConstantsSniff.php +0 -89
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/ControlStructures/DisallowAlternativeSyntaxSniff.php +0 -216
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/ControlStructures/DisallowLonelyIfSniff.php +0 -348
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/ControlStructures/IfElseDeclarationSniff.php +0 -164
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Files/SeparateFunctionsFromOOSniff.php +0 -190
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/FunctionDeclarations/NoLongClosuresSniff.php +0 -233
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/FunctionDeclarations/RequireFinalMethodsInTraitsSniff.php +0 -120
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Lists/DisallowLongListSyntaxSniff.php +0 -71
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Lists/DisallowShortListSyntaxSniff.php +0 -86
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Namespaces/DisallowCurlyBraceSyntaxSniff.php +0 -81
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Namespaces/DisallowDeclarationWithoutNameSniff.php +0 -80
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Namespaces/EnforceCurlyBraceSyntaxSniff.php +0 -81
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Namespaces/OneDeclarationPerFileSniff.php +0 -96
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/NamingConventions/NoReservedKeywordParameterNamesSniff.php +0 -190
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/OOStructures/AlphabeticExtendsImplementsSniff.php +0 -275
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/ConcatPositionSniff.php +0 -204
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/DisallowLogicalAndOrSniff.php +0 -112
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/DisallowShortTernarySniff.php +0 -76
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/DisallowStandalonePostIncrementDecrementSniff.php +0 -197
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/StrictComparisonsSniff.php +0 -116
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/Operators/TypeSeparatorSpacingSniff.php +0 -85
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/PHP/LowercasePHPTagSniff.php +0 -87
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/PHP/OneStatementInShortEchoTagSniff.php +0 -101
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/DisallowMixedGroupUseSniff.php +0 -248
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/DisallowUseClassSniff.php +0 -211
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/DisallowUseConstSniff.php +0 -211
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/DisallowUseFunctionSniff.php +0 -211
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/KeywordSpacingSniff.php +0 -207
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/LowercaseFunctionConstSniff.php +0 -156
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/NoLeadingBackslashSniff.php +0 -170
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/NoUselessAliasesSniff.php +0 -155
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/WhiteSpace/AnonClassKeywordSpacingSniff.php +0 -79
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/WhiteSpace/CommaSpacingSniff.php +0 -408
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/WhiteSpace/DisallowInlineTabsSniff.php +0 -173
- package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/WhiteSpace/PrecisionAlignmentSniff.php +0 -445
- package/vendor/phpcsstandards/phpcsextra/Universal/ruleset.xml +0 -5
- package/vendor/phpcsstandards/phpcsextra/composer.json +0 -69
- package/vendor/phpcsstandards/phpcsutils/.phpdoc.xml.dist +0 -36
- package/vendor/phpcsstandards/phpcsutils/CHANGELOG.md +0 -1106
- package/vendor/phpcsstandards/phpcsutils/LICENSE +0 -165
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/AbstractSniffs/AbstractArrayDeclarationSniff.php +0 -551
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/BackCompat/BCFile.php +0 -781
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/BackCompat/BCTokens.php +0 -123
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/BackCompat/Helper.php +0 -202
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Exceptions/InvalidTokenArray.php +0 -44
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Exceptions/TestFileNotFound.php +0 -47
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Exceptions/TestMarkerNotFound.php +0 -43
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Exceptions/TestTargetNotFound.php +0 -50
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Fixers/SpacesFixer.php +0 -246
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Internal/Cache.php +0 -218
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Internal/IsShortArrayOrList.php +0 -687
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Internal/IsShortArrayOrListWithCache.php +0 -269
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Internal/NoFileCache.php +0 -164
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Internal/StableCollections.php +0 -75
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/TestUtils/UtilityMethodTestCase.php +0 -459
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Tokens/Collections.php +0 -837
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Tokens/TokenHelper.php +0 -55
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Arrays.php +0 -227
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Conditions.php +0 -156
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Context.php +0 -232
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/ControlStructures.php +0 -276
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/FunctionDeclarations.php +0 -828
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/GetTokensAsString.php +0 -262
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Lists.php +0 -359
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/MessageHelper.php +0 -145
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Namespaces.php +0 -389
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/NamingConventions.php +0 -116
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Numbers.php +0 -322
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/ObjectDeclarations.php +0 -359
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Operators.php +0 -252
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Orthography.php +0 -120
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Parentheses.php +0 -419
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/PassedParameters.php +0 -510
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Scopes.php +0 -143
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/TextStrings.php +0 -331
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/UseStatements.php +0 -432
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/Utils/Variables.php +0 -333
- package/vendor/phpcsstandards/phpcsutils/PHPCSUtils/ruleset.xml +0 -4
- package/vendor/phpcsstandards/phpcsutils/README.md +0 -297
- package/vendor/phpcsstandards/phpcsutils/composer.json +0 -92
- package/vendor/phpcsstandards/phpcsutils/phpcsutils-autoload.php +0 -68
- package/vendor/wp-coding-standards/wpcs/CHANGELOG.md +0 -1654
- package/vendor/wp-coding-standards/wpcs/LICENSE +0 -21
- package/vendor/wp-coding-standards/wpcs/README.md +0 -261
- package/vendor/wp-coding-standards/wpcs/WordPress/AbstractArrayAssignmentRestrictionsSniff.php +0 -261
- package/vendor/wp-coding-standards/wpcs/WordPress/AbstractClassRestrictionsSniff.php +0 -257
- package/vendor/wp-coding-standards/wpcs/WordPress/AbstractFunctionParameterSniff.php +0 -111
- package/vendor/wp-coding-standards/wpcs/WordPress/AbstractFunctionRestrictionsSniff.php +0 -358
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/Arrays/ArrayIndentationStandard.xml +0 -116
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/Arrays/ArrayKeySpacingRestrictionsStandard.xml +0 -31
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/Arrays/MultipleStatementAlignmentStandard.xml +0 -50
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/CodeAnalysis/EscapedNotTranslatedStandard.xml +0 -24
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/DateTime/CurrentTimeTimestampStandard.xml +0 -35
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/DateTime/RestrictedFunctionsStandard.xml +0 -54
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/NamingConventions/PrefixAllGlobalsStandard.xml +0 -119
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/NamingConventions/ValidHookNameStandard.xml +0 -35
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/NamingConventions/ValidPostTypeSlugStandard.xml +0 -121
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/PHP/IniSetStandard.xml +0 -40
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/PHP/StrictInArrayStandard.xml +0 -53
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/PHP/YodaConditionsStandard.xml +0 -27
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/Security/SafeRedirectStandard.xml +0 -23
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/CapabilitiesStandard.xml +0 -69
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/CapitalPDangitStandard.xml +0 -43
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/ClassNameCaseStandard.xml +0 -23
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/CronIntervalStandard.xml +0 -45
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/DeprecatedClassesStandard.xml +0 -23
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/DeprecatedFunctionsStandard.xml +0 -23
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/DeprecatedParameterValuesStandard.xml +0 -23
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/DeprecatedParametersStandard.xml +0 -40
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/EnqueuedResourceParametersStandard.xml +0 -92
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/EnqueuedResourcesStandard.xml +0 -57
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WP/PostsPerPageStandard.xml +0 -73
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WhiteSpace/CastStructureSpacingStandard.xml +0 -27
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WhiteSpace/ControlStructureSpacingStandard.xml +0 -150
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WhiteSpace/ObjectOperatorSpacingStandard.xml +0 -19
- package/vendor/wp-coding-standards/wpcs/WordPress/Docs/WhiteSpace/OperatorSpacingStandard.xml +0 -61
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/ArrayWalkingFunctionsHelper.php +0 -108
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/ConstantsHelper.php +0 -135
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/ContextHelper.php +0 -394
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/DeprecationHelper.php +0 -84
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/EscapingFunctionsTrait.php +0 -256
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/FormattingFunctionsHelper.php +0 -60
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/IsUnitTestTrait.php +0 -238
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/ListHelper.php +0 -101
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/MinimumWPVersionTrait.php +0 -159
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/PrintingFunctionsTrait.php +0 -122
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/RulesetPropertyHelper.php +0 -73
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/SanitizationHelperTrait.php +0 -418
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/SnakeCaseHelper.php +0 -60
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/UnslashingFunctionsHelper.php +0 -59
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/ValidationHelper.php +0 -349
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/VariableHelper.php +0 -262
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/WPDBTrait.php +0 -115
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/WPGlobalVariablesHelper.php +0 -312
- package/vendor/wp-coding-standards/wpcs/WordPress/Helpers/WPHookHelper.php +0 -113
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniff.php +0 -72
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Arrays/ArrayDeclarationSpacingSniff.php +0 -252
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Arrays/ArrayIndentationSniff.php +0 -550
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Arrays/ArrayKeySpacingRestrictionsSniff.php +0 -174
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Arrays/MultipleStatementAlignmentSniff.php +0 -583
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/CodeAnalysis/AssignmentInTernaryConditionSniff.php +0 -173
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/CodeAnalysis/EscapedNotTranslatedSniff.php +0 -89
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/DirectDatabaseQuerySniff.php +0 -301
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/PreparedSQLPlaceholdersSniff.php +0 -761
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/PreparedSQLSniff.php +0 -242
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/RestrictedClassesSniff.php +0 -57
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/RestrictedFunctionsSniff.php +0 -63
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DB/SlowDBQuerySniff.php +0 -58
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DateTime/CurrentTimeTimestampSniff.php +0 -168
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/DateTime/RestrictedFunctionsSniff.php +0 -59
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Files/FileNameSniff.php +0 -313
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/NamingConventions/PrefixAllGlobalsSniff.php +0 -1297
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/NamingConventions/ValidFunctionNameSniff.php +0 -188
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/NamingConventions/ValidHookNameSniff.php +0 -277
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/NamingConventions/ValidPostTypeSlugSniff.php +0 -230
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/NamingConventions/ValidVariableNameSniff.php +0 -289
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/DevelopmentFunctionsSniff.php +0 -63
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/DiscouragedPHPFunctionsSniff.php +0 -100
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/DontExtractSniff.php +0 -52
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/IniSetSniff.php +0 -193
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/NoSilencedErrorsSniff.php +0 -245
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/POSIXFunctionsSniff.php +0 -73
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/PregQuoteDelimiterSniff.php +0 -70
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/RestrictedPHPFunctionsSniff.php +0 -45
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/StrictInArraySniff.php +0 -122
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/TypeCastsSniff.php +0 -90
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/PHP/YodaConditionsSniff.php +0 -124
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Security/EscapeOutputSniff.php +0 -903
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Security/NonceVerificationSniff.php +0 -422
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Security/PluginMenuSlugSniff.php +0 -126
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Security/SafeRedirectSniff.php +0 -45
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Security/ValidatedSanitizedInputSniff.php +0 -244
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/Utils/I18nTextDomainFixerSniff.php +0 -862
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/AlternativeFunctionsSniff.php +0 -371
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/CapabilitiesSniff.php +0 -478
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/CapitalPDangitSniff.php +0 -315
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/ClassNameCaseSniff.php +0 -897
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/CronIntervalSniff.php +0 -321
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DeprecatedClassesSniff.php +0 -152
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DeprecatedFunctionsSniff.php +0 -1708
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DeprecatedParameterValuesSniff.php +0 -291
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DeprecatedParametersSniff.php +0 -509
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DiscouragedConstantsSniff.php +0 -160
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/DiscouragedFunctionsSniff.php +0 -54
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/EnqueuedResourceParametersSniff.php +0 -241
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/EnqueuedResourcesSniff.php +0 -108
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/GlobalVariablesOverrideSniff.php +0 -436
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/I18nSniff.php +0 -977
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WP/PostsPerPageSniff.php +0 -102
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WhiteSpace/CastStructureSpacingSniff.php +0 -59
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WhiteSpace/ControlStructureSpacingSniff.php +0 -486
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WhiteSpace/ObjectOperatorSpacingSniff.php +0 -63
- package/vendor/wp-coding-standards/wpcs/WordPress/Sniffs/WhiteSpace/OperatorSpacingSniff.php +0 -60
- package/vendor/wp-coding-standards/wpcs/WordPress/ruleset.xml +0 -13
- package/vendor/wp-coding-standards/wpcs/WordPress-Core/ruleset.xml +0 -948
- package/vendor/wp-coding-standards/wpcs/WordPress-Docs/ruleset.xml +0 -109
- package/vendor/wp-coding-standards/wpcs/WordPress-Extra/ruleset.xml +0 -199
- package/vendor/wp-coding-standards/wpcs/composer.json +0 -88
- package/vendor/wp-coding-standards/wpcs/phpcs.xml.dist.sample +0 -153
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
<?php
|
|
2
|
-
/**
|
|
3
|
-
* PHPCSExtra, a collection of sniffs and standards for use with PHP_CodeSniffer.
|
|
4
|
-
*
|
|
5
|
-
* @package PHPCSExtra
|
|
6
|
-
* @copyright 2020 PHPCSExtra Contributors
|
|
7
|
-
* @license https://opensource.org/licenses/LGPL-3.0 LGPL3
|
|
8
|
-
* @link https://github.com/PHPCSStandards/PHPCSExtra
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
namespace PHPCSExtra\Universal\Sniffs\UseStatements;
|
|
12
|
-
|
|
13
|
-
use PHP_CodeSniffer\Files\File;
|
|
14
|
-
use PHP_CodeSniffer\Sniffs\Sniff;
|
|
15
|
-
use PHP_CodeSniffer\Util\Tokens;
|
|
16
|
-
use PHPCSUtils\Utils\GetTokensAsString;
|
|
17
|
-
use PHPCSUtils\Utils\UseStatements;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Disallow group use statements which combine imports for namespace/OO, functions
|
|
21
|
-
* and/or constants in one statement.
|
|
22
|
-
*
|
|
23
|
-
* Note: the fixer will use a semi-standardized format for group use statements.
|
|
24
|
-
* If there are more specific requirements for the formatting of group use statements,
|
|
25
|
-
* the ruleset configurator should ensure that additional sniffs are included in the
|
|
26
|
-
* ruleset to enforce the required format.
|
|
27
|
-
*
|
|
28
|
-
* @since 1.1.0
|
|
29
|
-
*/
|
|
30
|
-
final class DisallowMixedGroupUseSniff implements Sniff
|
|
31
|
-
{
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Name of the "Use import source" metric.
|
|
35
|
-
*
|
|
36
|
-
* @since 1.1.0
|
|
37
|
-
*
|
|
38
|
-
* @var string
|
|
39
|
-
*/
|
|
40
|
-
const METRIC_NAME = 'Import use statement type';
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Returns an array of tokens this test wants to listen for.
|
|
44
|
-
*
|
|
45
|
-
* @since 1.1.0
|
|
46
|
-
*
|
|
47
|
-
* @return array<int|string>
|
|
48
|
-
*/
|
|
49
|
-
public function register()
|
|
50
|
-
{
|
|
51
|
-
return [\T_USE];
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Processes this test, when one of its tokens is encountered.
|
|
56
|
-
*
|
|
57
|
-
* @since 1.1.0
|
|
58
|
-
*
|
|
59
|
-
* @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
|
|
60
|
-
* @param int $stackPtr The position of the current token
|
|
61
|
-
* in the stack passed in $tokens.
|
|
62
|
-
*
|
|
63
|
-
* @return void
|
|
64
|
-
*/
|
|
65
|
-
public function process(File $phpcsFile, $stackPtr)
|
|
66
|
-
{
|
|
67
|
-
if (UseStatements::isImportUse($phpcsFile, $stackPtr) === false) {
|
|
68
|
-
// Closure or trait use statement. Bow out.
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
$useStatements = UseStatements::splitImportUseStatement($phpcsFile, $stackPtr);
|
|
73
|
-
|
|
74
|
-
$ooCount = \count($useStatements['name']);
|
|
75
|
-
$functionCount = \count($useStatements['function']);
|
|
76
|
-
$constantCount = \count($useStatements['const']);
|
|
77
|
-
$totalCount = $ooCount + $functionCount + $constantCount;
|
|
78
|
-
|
|
79
|
-
if ($totalCount === 0) {
|
|
80
|
-
// There must have been a parse error. Bow out.
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// End of statement will always be found, otherwise the import statement parsing would have failed.
|
|
85
|
-
$endOfStatement = $phpcsFile->findNext([\T_SEMICOLON, \T_CLOSE_TAG], ($stackPtr + 1));
|
|
86
|
-
$groupStart = $phpcsFile->findNext(\T_OPEN_USE_GROUP, ($stackPtr + 1), $endOfStatement);
|
|
87
|
-
|
|
88
|
-
if ($groupStart === false) {
|
|
89
|
-
// Not a group use statement. Just record the metric.
|
|
90
|
-
if ($totalCount === 1) {
|
|
91
|
-
$phpcsFile->recordMetric($stackPtr, self::METRIC_NAME, 'single import');
|
|
92
|
-
} else {
|
|
93
|
-
$phpcsFile->recordMetric($stackPtr, self::METRIC_NAME, 'multi import');
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
if ($totalCount === 1
|
|
100
|
-
|| ($ooCount !== 0 && $functionCount === 0 && $constantCount === 0)
|
|
101
|
-
|| ($ooCount === 0 && $functionCount !== 0 && $constantCount === 0)
|
|
102
|
-
|| ($ooCount === 0 && $functionCount === 0 && $constantCount !== 0)
|
|
103
|
-
) {
|
|
104
|
-
// Not a *mixed* group use statement.
|
|
105
|
-
$phpcsFile->recordMetric($stackPtr, self::METRIC_NAME, 'group use, single type');
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
$phpcsFile->recordMetric($stackPtr, self::METRIC_NAME, 'group use, multi type');
|
|
110
|
-
|
|
111
|
-
// Build up the error message.
|
|
112
|
-
$foundPhrases = [];
|
|
113
|
-
if ($ooCount > 1) {
|
|
114
|
-
$foundPhrases[] = \sprintf('%d namespaces/OO names', $ooCount);
|
|
115
|
-
} elseif ($ooCount === 1) {
|
|
116
|
-
$foundPhrases[] = \sprintf('%d namespace/OO name', $ooCount);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
if ($functionCount > 1) {
|
|
120
|
-
$foundPhrases[] = \sprintf('%d functions', $functionCount);
|
|
121
|
-
} elseif ($functionCount === 1) {
|
|
122
|
-
$foundPhrases[] = \sprintf('%d function', $functionCount);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
if ($constantCount > 1) {
|
|
126
|
-
$foundPhrases[] = \sprintf('%d constants', $constantCount);
|
|
127
|
-
} elseif ($constantCount === 1) {
|
|
128
|
-
$foundPhrases[] = \sprintf('%d constant', $constantCount);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
if (\count($foundPhrases) === 2) {
|
|
132
|
-
$found = \implode(' and ', $foundPhrases);
|
|
133
|
-
} else {
|
|
134
|
-
$found = \array_shift($foundPhrases) . ', ';
|
|
135
|
-
$found .= \implode(' and ', $foundPhrases);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
$error = 'Group use statements should import one type of construct.'
|
|
139
|
-
. ' Mixed group use statement found importing %s.';
|
|
140
|
-
$code = 'Found';
|
|
141
|
-
$data = [$found];
|
|
142
|
-
|
|
143
|
-
$hasComment = $phpcsFile->findNext(Tokens::$commentTokens, ($stackPtr + 1), $endOfStatement);
|
|
144
|
-
if ($hasComment !== false) {
|
|
145
|
-
// Don't attempt to auto-fix is there are comments or PHPCS annotations in the statement.
|
|
146
|
-
$phpcsFile->addError($error, $stackPtr, $code, $data);
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
$fix = $phpcsFile->addFixableError($error, $stackPtr, $code, $data);
|
|
151
|
-
|
|
152
|
-
if ($fix === false) {
|
|
153
|
-
return;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/*
|
|
157
|
-
* Fix it.
|
|
158
|
-
*
|
|
159
|
-
* This fixer complies with the following (arbitrary) requirements:
|
|
160
|
-
* - It will re-use the original base "group" name, i.e. the part before \{.
|
|
161
|
-
* - It take take aliases into account, but only when something is aliased to a different name.
|
|
162
|
-
* Aliases re-using the original name will be removed.
|
|
163
|
-
* - The fix will not add a trailing comma after the last group use sub-statement.
|
|
164
|
-
* This is a PHP 7.2+ feature.
|
|
165
|
-
* If a standard wants to enforce trailing commas, they should use a separate sniff for that.
|
|
166
|
-
* - If there is only 1 statement of a certain type, the replacement will be a single
|
|
167
|
-
* import use statement, not a group use statement.
|
|
168
|
-
*/
|
|
169
|
-
|
|
170
|
-
$phpcsFile->fixer->beginChangeset();
|
|
171
|
-
|
|
172
|
-
// Ensure that a potential close PHP tag ending the statement is not removed.
|
|
173
|
-
$tokens = $phpcsFile->getTokens();
|
|
174
|
-
$endRemoval = $endOfStatement;
|
|
175
|
-
if ($tokens[$endOfStatement]['code'] !== \T_SEMICOLON) {
|
|
176
|
-
$endRemoval = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($endOfStatement - 1), null, true);
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
// Remove old statement with the exception of the `use` keyword.
|
|
180
|
-
for ($i = ($stackPtr + 1); $i <= $endRemoval; $i++) {
|
|
181
|
-
$phpcsFile->fixer->replaceToken($i, '');
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
// Build up the new use import statements.
|
|
185
|
-
$newStatements = [];
|
|
186
|
-
|
|
187
|
-
$useIndent = \str_repeat(' ', ($tokens[$stackPtr]['column'] - 1));
|
|
188
|
-
$insideIndent = $useIndent . \str_repeat(' ', 4);
|
|
189
|
-
|
|
190
|
-
$baseGroupName = GetTokensAsString::noEmpties($phpcsFile, ($stackPtr + 1), ($groupStart - 1));
|
|
191
|
-
|
|
192
|
-
foreach ($useStatements as $type => $statements) {
|
|
193
|
-
$count = \count($statements);
|
|
194
|
-
if ($count === 0) {
|
|
195
|
-
continue;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
$typeName = $type . ' ';
|
|
199
|
-
if ($type === 'name') {
|
|
200
|
-
$typeName = '';
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
if ($count === 1) {
|
|
204
|
-
$fqName = \reset($statements);
|
|
205
|
-
$alias = \key($statements);
|
|
206
|
-
|
|
207
|
-
$newStatement = 'use ' . $typeName . $fqName;
|
|
208
|
-
|
|
209
|
-
$unqualifiedName = \ltrim(\substr($fqName, \strrpos($fqName, '\\')), '\\');
|
|
210
|
-
if ($unqualifiedName !== $alias) {
|
|
211
|
-
$newStatement .= ' as ' . $alias;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
$newStatement .= ';';
|
|
215
|
-
|
|
216
|
-
$newStatements[] = $newStatement;
|
|
217
|
-
continue;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
// Multiple statements, add a single-type group use statement.
|
|
221
|
-
$newStatement = 'use ' . $typeName . $baseGroupName . '{' . $phpcsFile->eolChar;
|
|
222
|
-
|
|
223
|
-
foreach ($statements as $alias => $fqName) {
|
|
224
|
-
$partialName = \str_replace($baseGroupName, '', $fqName);
|
|
225
|
-
$newStatement .= $insideIndent . $partialName;
|
|
226
|
-
|
|
227
|
-
$unqualifiedName = \ltrim(\substr($partialName, \strrpos($partialName, '\\')), '\\');
|
|
228
|
-
if ($unqualifiedName !== $alias) {
|
|
229
|
-
$newStatement .= ' as ' . $alias;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
$newStatement .= ',' . $phpcsFile->eolChar;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
// Remove trailing comma after last statement as that's PHP 7.2+.
|
|
236
|
-
$newStatement = \rtrim($newStatement, ',' . $phpcsFile->eolChar);
|
|
237
|
-
|
|
238
|
-
$newStatement .= $phpcsFile->eolChar . $useIndent . '};';
|
|
239
|
-
$newStatements[] = $newStatement;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
$replacement = \implode($phpcsFile->eolChar . $useIndent, $newStatements);
|
|
243
|
-
|
|
244
|
-
$phpcsFile->fixer->replaceToken($stackPtr, $replacement);
|
|
245
|
-
|
|
246
|
-
$phpcsFile->fixer->endChangeset();
|
|
247
|
-
}
|
|
248
|
-
}
|
package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/DisallowUseClassSniff.php
DELETED
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
<?php
|
|
2
|
-
/**
|
|
3
|
-
* PHPCSExtra, a collection of sniffs and standards for use with PHP_CodeSniffer.
|
|
4
|
-
*
|
|
5
|
-
* @package PHPCSExtra
|
|
6
|
-
* @copyright 2020 PHPCSExtra Contributors
|
|
7
|
-
* @license https://opensource.org/licenses/LGPL-3.0 LGPL3
|
|
8
|
-
* @link https://github.com/PHPCSStandards/PHPCSExtra
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
namespace PHPCSExtra\Universal\Sniffs\UseStatements;
|
|
12
|
-
|
|
13
|
-
use PHP_CodeSniffer\Exceptions\RuntimeException;
|
|
14
|
-
use PHP_CodeSniffer\Files\File;
|
|
15
|
-
use PHP_CodeSniffer\Sniffs\Sniff;
|
|
16
|
-
use PHP_CodeSniffer\Util\Tokens;
|
|
17
|
-
use PHPCSUtils\Utils\Namespaces;
|
|
18
|
-
use PHPCSUtils\Utils\UseStatements;
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Disallow class/trait/interface/enum import `use` statements.
|
|
22
|
-
*
|
|
23
|
-
* Related sniffs:
|
|
24
|
-
* - `Universal.UseStatements.DisallowUseFunction`
|
|
25
|
-
* - `Universal.UseStatements.DisallowUseConst`
|
|
26
|
-
*
|
|
27
|
-
* @since 1.0.0
|
|
28
|
-
*/
|
|
29
|
-
final class DisallowUseClassSniff implements Sniff
|
|
30
|
-
{
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Name of the "Use import source" metric.
|
|
34
|
-
*
|
|
35
|
-
* @since 1.0.0
|
|
36
|
-
*
|
|
37
|
-
* @var string
|
|
38
|
-
*/
|
|
39
|
-
const METRIC_NAME_SRC = 'Use import statement source for class/interface/trait/enum';
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Name of the "Use import with/without alias" metric.
|
|
43
|
-
*
|
|
44
|
-
* @since 1.0.0
|
|
45
|
-
*
|
|
46
|
-
* @var string
|
|
47
|
-
*/
|
|
48
|
-
const METRIC_NAME_ALIAS = 'Use import statement for class/interface/trait/enum';
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Keep track of which file is being scanned.
|
|
52
|
-
*
|
|
53
|
-
* @since 1.0.0
|
|
54
|
-
*
|
|
55
|
-
* @var string
|
|
56
|
-
*/
|
|
57
|
-
private $currentFile = '';
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Keep track of the current namespace.
|
|
61
|
-
*
|
|
62
|
-
* @since 1.0.0
|
|
63
|
-
*
|
|
64
|
-
* @var string
|
|
65
|
-
*/
|
|
66
|
-
private $currentNamespace = '';
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Returns an array of tokens this test wants to listen for.
|
|
70
|
-
*
|
|
71
|
-
* @since 1.0.0
|
|
72
|
-
*
|
|
73
|
-
* @return array<int|string>
|
|
74
|
-
*/
|
|
75
|
-
public function register()
|
|
76
|
-
{
|
|
77
|
-
return [
|
|
78
|
-
\T_USE,
|
|
79
|
-
\T_NAMESPACE,
|
|
80
|
-
];
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Processes this test, when one of its tokens is encountered.
|
|
85
|
-
*
|
|
86
|
-
* @since 1.0.0
|
|
87
|
-
*
|
|
88
|
-
* @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
|
|
89
|
-
* @param int $stackPtr The position of the current token
|
|
90
|
-
* in the stack passed in $tokens.
|
|
91
|
-
*
|
|
92
|
-
* @return void
|
|
93
|
-
*/
|
|
94
|
-
public function process(File $phpcsFile, $stackPtr)
|
|
95
|
-
{
|
|
96
|
-
$file = $phpcsFile->getFilename();
|
|
97
|
-
if ($file !== $this->currentFile) {
|
|
98
|
-
// Reset the current namespace for each new file.
|
|
99
|
-
$this->currentFile = $file;
|
|
100
|
-
$this->currentNamespace = '';
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
$tokens = $phpcsFile->getTokens();
|
|
104
|
-
|
|
105
|
-
// Get the name of the current namespace.
|
|
106
|
-
if ($tokens[$stackPtr]['code'] === \T_NAMESPACE) {
|
|
107
|
-
$namespaceName = Namespaces::getDeclaredName($phpcsFile, $stackPtr);
|
|
108
|
-
if ($namespaceName !== false) {
|
|
109
|
-
$this->currentNamespace = $namespaceName;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// Ok, so this is a T_USE token.
|
|
116
|
-
try {
|
|
117
|
-
$statements = UseStatements::splitImportUseStatement($phpcsFile, $stackPtr);
|
|
118
|
-
} catch (RuntimeException $e) {
|
|
119
|
-
// Not an import use statement. Bow out.
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
if (empty($statements['name'])) {
|
|
124
|
-
// No class/trait/interface/enum import statements found.
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
$endOfStatement = $phpcsFile->findNext([\T_SEMICOLON, \T_CLOSE_TAG], ($stackPtr + 1));
|
|
129
|
-
|
|
130
|
-
foreach ($statements['name'] as $alias => $fullName) {
|
|
131
|
-
$reportPtr = $stackPtr;
|
|
132
|
-
do {
|
|
133
|
-
$reportPtr = $phpcsFile->findNext(\T_STRING, ($reportPtr + 1), $endOfStatement, false, $alias);
|
|
134
|
-
if ($reportPtr === false) {
|
|
135
|
-
// Shouldn't be possible.
|
|
136
|
-
continue 2; // @codeCoverageIgnore
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
$next = $phpcsFile->findNext(Tokens::$emptyTokens, ($reportPtr + 1), $endOfStatement, true);
|
|
140
|
-
if ($next !== false && $tokens[$next]['code'] === \T_NS_SEPARATOR) {
|
|
141
|
-
// Namespace level with same name. Continue searching.
|
|
142
|
-
continue;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
break;
|
|
146
|
-
} while (true);
|
|
147
|
-
|
|
148
|
-
/*
|
|
149
|
-
* Build the error message and code.
|
|
150
|
-
*
|
|
151
|
-
* Check whether this is a non-namespaced (global) import and check whether this is an
|
|
152
|
-
* import from within the same namespace.
|
|
153
|
-
*
|
|
154
|
-
* Takes incorrect use statements with leading backslash into account.
|
|
155
|
-
* Takes case-INsensitivity of namespaces names into account.
|
|
156
|
-
*
|
|
157
|
-
* The "GlobalNamespace" error code takes precedence over the "SameNamespace" error code
|
|
158
|
-
* in case this is a non-namespaced file.
|
|
159
|
-
*/
|
|
160
|
-
|
|
161
|
-
$error = 'Use import statements for class/interface/trait/enum%s are not allowed.';
|
|
162
|
-
$error .= ' Found import statement for: "%s"';
|
|
163
|
-
$errorCode = 'Found';
|
|
164
|
-
$data = [
|
|
165
|
-
'',
|
|
166
|
-
$fullName,
|
|
167
|
-
];
|
|
168
|
-
|
|
169
|
-
$globalNamespace = false;
|
|
170
|
-
$sameNamespace = false;
|
|
171
|
-
if (\strpos($fullName, '\\', 1) === false) {
|
|
172
|
-
$globalNamespace = true;
|
|
173
|
-
$errorCode = 'FromGlobalNamespace';
|
|
174
|
-
$data[0] = ' from the global namespace';
|
|
175
|
-
|
|
176
|
-
$phpcsFile->recordMetric($reportPtr, self::METRIC_NAME_SRC, 'global namespace');
|
|
177
|
-
} elseif ($this->currentNamespace !== ''
|
|
178
|
-
&& (\stripos($fullName, $this->currentNamespace . '\\') === 0
|
|
179
|
-
|| \stripos($fullName, '\\' . $this->currentNamespace . '\\') === 0)
|
|
180
|
-
) {
|
|
181
|
-
$sameNamespace = true;
|
|
182
|
-
$errorCode = 'FromSameNamespace';
|
|
183
|
-
$data[0] = ' from the same namespace';
|
|
184
|
-
|
|
185
|
-
$phpcsFile->recordMetric($reportPtr, self::METRIC_NAME_SRC, 'same namespace');
|
|
186
|
-
} else {
|
|
187
|
-
$phpcsFile->recordMetric($reportPtr, self::METRIC_NAME_SRC, 'different namespace');
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
$hasAlias = false;
|
|
191
|
-
$lastLeaf = \strtolower(\substr($fullName, -(\strlen($alias) + 1)));
|
|
192
|
-
$aliasLC = \strtolower($alias);
|
|
193
|
-
if ($lastLeaf !== $aliasLC && $lastLeaf !== '\\' . $aliasLC) {
|
|
194
|
-
$hasAlias = true;
|
|
195
|
-
$error .= ' with alias: "%s"';
|
|
196
|
-
$errorCode .= 'WithAlias';
|
|
197
|
-
$data[] = $alias;
|
|
198
|
-
|
|
199
|
-
$phpcsFile->recordMetric($reportPtr, self::METRIC_NAME_ALIAS, 'with alias');
|
|
200
|
-
} else {
|
|
201
|
-
$phpcsFile->recordMetric($reportPtr, self::METRIC_NAME_ALIAS, 'without alias');
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
if ($errorCode === 'Found') {
|
|
205
|
-
$errorCode = 'FoundWithoutAlias';
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
$phpcsFile->addError($error, $reportPtr, $errorCode, $data);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
}
|
package/vendor/phpcsstandards/phpcsextra/Universal/Sniffs/UseStatements/DisallowUseConstSniff.php
DELETED
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
<?php
|
|
2
|
-
/**
|
|
3
|
-
* PHPCSExtra, a collection of sniffs and standards for use with PHP_CodeSniffer.
|
|
4
|
-
*
|
|
5
|
-
* @package PHPCSExtra
|
|
6
|
-
* @copyright 2020 PHPCSExtra Contributors
|
|
7
|
-
* @license https://opensource.org/licenses/LGPL-3.0 LGPL3
|
|
8
|
-
* @link https://github.com/PHPCSStandards/PHPCSExtra
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
namespace PHPCSExtra\Universal\Sniffs\UseStatements;
|
|
12
|
-
|
|
13
|
-
use PHP_CodeSniffer\Exceptions\RuntimeException;
|
|
14
|
-
use PHP_CodeSniffer\Files\File;
|
|
15
|
-
use PHP_CodeSniffer\Sniffs\Sniff;
|
|
16
|
-
use PHP_CodeSniffer\Util\Tokens;
|
|
17
|
-
use PHPCSUtils\Utils\Namespaces;
|
|
18
|
-
use PHPCSUtils\Utils\UseStatements;
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Disallow constant import `use` statements.
|
|
22
|
-
*
|
|
23
|
-
* Related sniffs:
|
|
24
|
-
* - `Universal.UseStatements.DisallowUseClass`
|
|
25
|
-
* - `Universal.UseStatements.DisallowUseFunction`
|
|
26
|
-
*
|
|
27
|
-
* @since 1.0.0
|
|
28
|
-
*/
|
|
29
|
-
final class DisallowUseConstSniff implements Sniff
|
|
30
|
-
{
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Name of the "Use import source" metric.
|
|
34
|
-
*
|
|
35
|
-
* @since 1.0.0
|
|
36
|
-
*
|
|
37
|
-
* @var string
|
|
38
|
-
*/
|
|
39
|
-
const METRIC_NAME_SRC = 'Use import statement source for constant';
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Name of the "Use import with/without alias" metric.
|
|
43
|
-
*
|
|
44
|
-
* @since 1.0.0
|
|
45
|
-
*
|
|
46
|
-
* @var string
|
|
47
|
-
*/
|
|
48
|
-
const METRIC_NAME_ALIAS = 'Use import statement for constant';
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Keep track of which file is being scanned.
|
|
52
|
-
*
|
|
53
|
-
* @since 1.0.0
|
|
54
|
-
*
|
|
55
|
-
* @var string
|
|
56
|
-
*/
|
|
57
|
-
private $currentFile = '';
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Keep track of the current namespace.
|
|
61
|
-
*
|
|
62
|
-
* @since 1.0.0
|
|
63
|
-
*
|
|
64
|
-
* @var string
|
|
65
|
-
*/
|
|
66
|
-
private $currentNamespace = '';
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Returns an array of tokens this test wants to listen for.
|
|
70
|
-
*
|
|
71
|
-
* @since 1.0.0
|
|
72
|
-
*
|
|
73
|
-
* @return array<int|string>
|
|
74
|
-
*/
|
|
75
|
-
public function register()
|
|
76
|
-
{
|
|
77
|
-
return [
|
|
78
|
-
\T_USE,
|
|
79
|
-
\T_NAMESPACE,
|
|
80
|
-
];
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Processes this test, when one of its tokens is encountered.
|
|
85
|
-
*
|
|
86
|
-
* @since 1.0.0
|
|
87
|
-
*
|
|
88
|
-
* @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
|
|
89
|
-
* @param int $stackPtr The position of the current token
|
|
90
|
-
* in the stack passed in $tokens.
|
|
91
|
-
*
|
|
92
|
-
* @return void
|
|
93
|
-
*/
|
|
94
|
-
public function process(File $phpcsFile, $stackPtr)
|
|
95
|
-
{
|
|
96
|
-
$file = $phpcsFile->getFilename();
|
|
97
|
-
if ($file !== $this->currentFile) {
|
|
98
|
-
// Reset the current namespace for each new file.
|
|
99
|
-
$this->currentFile = $file;
|
|
100
|
-
$this->currentNamespace = '';
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
$tokens = $phpcsFile->getTokens();
|
|
104
|
-
|
|
105
|
-
// Get the name of the current namespace.
|
|
106
|
-
if ($tokens[$stackPtr]['code'] === \T_NAMESPACE) {
|
|
107
|
-
$namespaceName = Namespaces::getDeclaredName($phpcsFile, $stackPtr);
|
|
108
|
-
if ($namespaceName !== false) {
|
|
109
|
-
$this->currentNamespace = $namespaceName;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// Ok, so this is a T_USE token.
|
|
116
|
-
try {
|
|
117
|
-
$statements = UseStatements::splitImportUseStatement($phpcsFile, $stackPtr);
|
|
118
|
-
} catch (RuntimeException $e) {
|
|
119
|
-
// Not an import use statement. Bow out.
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
if (empty($statements['const'])) {
|
|
124
|
-
// No import statements for constants found.
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
$endOfStatement = $phpcsFile->findNext([\T_SEMICOLON, \T_CLOSE_TAG], ($stackPtr + 1));
|
|
129
|
-
|
|
130
|
-
foreach ($statements['const'] as $alias => $fullName) {
|
|
131
|
-
$reportPtr = $stackPtr;
|
|
132
|
-
do {
|
|
133
|
-
$reportPtr = $phpcsFile->findNext(\T_STRING, ($reportPtr + 1), $endOfStatement, false, $alias);
|
|
134
|
-
if ($reportPtr === false) {
|
|
135
|
-
// Shouldn't be possible.
|
|
136
|
-
continue 2; // @codeCoverageIgnore
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
$next = $phpcsFile->findNext(Tokens::$emptyTokens, ($reportPtr + 1), $endOfStatement, true);
|
|
140
|
-
if ($next !== false && $tokens[$next]['code'] === \T_NS_SEPARATOR) {
|
|
141
|
-
// Namespace level with same name. Continue searching.
|
|
142
|
-
continue;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
break;
|
|
146
|
-
} while (true);
|
|
147
|
-
|
|
148
|
-
/*
|
|
149
|
-
* Build the error message and code.
|
|
150
|
-
*
|
|
151
|
-
* Check whether this is a non-namespaced (global) import and check whether this is an
|
|
152
|
-
* import from within the same namespace.
|
|
153
|
-
*
|
|
154
|
-
* Takes incorrect use statements with leading backslash into account.
|
|
155
|
-
* Takes case-INsensitivity of namespaces names into account.
|
|
156
|
-
*
|
|
157
|
-
* The "GlobalNamespace" error code takes precedence over the "SameNamespace" error code
|
|
158
|
-
* in case this is a non-namespaced file.
|
|
159
|
-
*/
|
|
160
|
-
|
|
161
|
-
$error = 'Use import statements for constants%s are not allowed.';
|
|
162
|
-
$error .= ' Found import statement for: "%s"';
|
|
163
|
-
$errorCode = 'Found';
|
|
164
|
-
$data = [
|
|
165
|
-
'',
|
|
166
|
-
$fullName,
|
|
167
|
-
];
|
|
168
|
-
|
|
169
|
-
$globalNamespace = false;
|
|
170
|
-
$sameNamespace = false;
|
|
171
|
-
if (\strpos($fullName, '\\', 1) === false) {
|
|
172
|
-
$globalNamespace = true;
|
|
173
|
-
$errorCode = 'FromGlobalNamespace';
|
|
174
|
-
$data[0] = ' from the global namespace';
|
|
175
|
-
|
|
176
|
-
$phpcsFile->recordMetric($reportPtr, self::METRIC_NAME_SRC, 'global namespace');
|
|
177
|
-
} elseif ($this->currentNamespace !== ''
|
|
178
|
-
&& (\stripos($fullName, $this->currentNamespace . '\\') === 0
|
|
179
|
-
|| \stripos($fullName, '\\' . $this->currentNamespace . '\\') === 0)
|
|
180
|
-
) {
|
|
181
|
-
$sameNamespace = true;
|
|
182
|
-
$errorCode = 'FromSameNamespace';
|
|
183
|
-
$data[0] = ' from the same namespace';
|
|
184
|
-
|
|
185
|
-
$phpcsFile->recordMetric($reportPtr, self::METRIC_NAME_SRC, 'same namespace');
|
|
186
|
-
} else {
|
|
187
|
-
$phpcsFile->recordMetric($reportPtr, self::METRIC_NAME_SRC, 'different namespace');
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
$hasAlias = false;
|
|
191
|
-
$lastLeaf = \strtolower(\substr($fullName, -(\strlen($alias) + 1)));
|
|
192
|
-
$aliasLC = \strtolower($alias);
|
|
193
|
-
if ($lastLeaf !== $aliasLC && $lastLeaf !== '\\' . $aliasLC) {
|
|
194
|
-
$hasAlias = true;
|
|
195
|
-
$error .= ' with alias: "%s"';
|
|
196
|
-
$errorCode .= 'WithAlias';
|
|
197
|
-
$data[] = $alias;
|
|
198
|
-
|
|
199
|
-
$phpcsFile->recordMetric($reportPtr, self::METRIC_NAME_ALIAS, 'with alias');
|
|
200
|
-
} else {
|
|
201
|
-
$phpcsFile->recordMetric($reportPtr, self::METRIC_NAME_ALIAS, 'without alias');
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
if ($errorCode === 'Found') {
|
|
205
|
-
$errorCode = 'FoundWithoutAlias';
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
$phpcsFile->addError($error, $reportPtr, $errorCode, $data);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
}
|