@siliconst/metaui 1.4.51 → 2.0.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.
Potentially problematic release.
This version of @siliconst/metaui might be problematic. Click here for more details.
- package/LICENSE +21 -0
- package/README.md +144 -29
- package/package.json +82 -23
- package/src/nz/co/siliconst/ui5/metaui/.library +33 -7
- package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.ts +149 -101
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.ts +312 -58
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.ts +57 -29
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.ts +262 -175
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.ts +533 -462
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.ts +267 -90
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.ts +199 -75
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.ts +247 -203
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.ts +224 -227
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.ts +678 -754
- package/src/nz/co/siliconst/ui5/metaui/controls/host/HostControlMetadata.ts +218 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/InferredGeneratorHost.ts +23 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.ts +530 -166
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.ts +352 -155
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/GenerationDelegate.ts +384 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.ts +446 -133
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/PolicyDelegate.ts +228 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/SchemaResolutionDelegate.ts +223 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.ts +318 -158
- package/src/nz/co/siliconst/ui5/metaui/core/DataInferenceBuilder.ts +852 -0
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.ts +99 -88
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultPluginBootstrapper.ts +116 -0
- package/src/nz/co/siliconst/ui5/metaui/core/Engine.ts +469 -472
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.ts +411 -82
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.ts +504 -147
- package/src/nz/co/siliconst/ui5/metaui/core/PayloadValidator.ts +789 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.ts +295 -123
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.ts +705 -359
- package/src/nz/co/siliconst/ui5/metaui/core/PluginStateBase.ts +229 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.ts +542 -227
- package/src/nz/co/siliconst/ui5/metaui/core/Registry.ts +88 -72
- package/src/nz/co/siliconst/ui5/metaui/core/SafeConvert.ts +68 -0
- package/src/nz/co/siliconst/ui5/metaui/core/SandboxJSONModel.ts +248 -0
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry.ts +54 -45
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaDirectiveNormalizer.ts +502 -0
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.ts +1126 -337
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.ts +180 -68
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaWalker.ts +1043 -0
- package/src/nz/co/siliconst/ui5/metaui/core/StateManager.ts +191 -261
- package/src/nz/co/siliconst/ui5/metaui/core/ValidationLedger.ts +755 -0
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IEngineHost.ts +48 -0
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.ts +28 -21
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.ts +83 -39
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.ts +146 -83
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.ts +57 -49
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.ts +209 -158
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchemaBuilderPlugin.ts +27 -24
- package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.ts +189 -148
- package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.ts +62 -172
- package/src/nz/co/siliconst/ui5/metaui/layouts/LayoutElementWalker.ts +626 -0
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.ts +294 -240
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableRowHelper.ts +295 -0
- package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.ts +327 -445
- package/src/nz/co/siliconst/ui5/metaui/layouts/WizardStepRenderer.ts +112 -0
- package/src/nz/co/siliconst/ui5/metaui/library.ts +87 -74
- package/src/nz/co/siliconst/ui5/metaui/messagebundle.properties +411 -0
- package/src/nz/co/siliconst/ui5/metaui/messagebundle_de.properties +357 -0
- package/src/nz/co/siliconst/ui5/metaui/messagebundle_en.properties +218 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder.ts +101 -88
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.ts +70 -44
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.ts +166 -61
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper.ts +41 -36
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.ts +68 -93
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.ts +43 -43
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.ts +21 -21
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.ts +102 -117
- package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin.ts +25 -25
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/BaseOpenApiParser.ts +438 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.ts +26 -112
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.ts +27 -112
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiConstraintMapper.ts +725 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.ts +758 -314
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ActionButtonPlugin.ts +174 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.ts +87 -58
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.ts +36 -52
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.ts +126 -45
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.ts +83 -118
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.ts +542 -386
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.ts +26 -103
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.ts +38 -73
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.ts +125 -213
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.ts +24 -88
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.ts +23 -89
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.ts +336 -250
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.ts +137 -112
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.ts +47 -48
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.ts +166 -82
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.ts +51 -72
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/HardwareControlPlugin.ts +154 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.ts +81 -57
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.ts +101 -59
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.ts +154 -206
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.ts +154 -90
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NestedDialogPlugin.ts +301 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.ts +167 -121
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.ts +75 -111
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/OptionListPlugin.ts +149 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.ts +71 -49
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PickerPlugin.ts +158 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PolymorphicPlugin.ts +443 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.ts +56 -80
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.ts +77 -212
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.ts +43 -84
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.ts +38 -72
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SingleBoundWidgetPlugin.ts +218 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.ts +64 -83
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.ts +63 -89
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.ts +49 -87
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.ts +26 -79
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.ts +57 -129
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextLikeInputPlugin.ts +234 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.ts +24 -90
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.ts +46 -75
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.ts +175 -111
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.ts +148 -67
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.ts +266 -146
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.ts +183 -107
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.ts +106 -36
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.ts +113 -36
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.ts +100 -32
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.ts +42 -28
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/DateLessThanConditionPlugin.ts +79 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.ts +47 -34
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.ts +47 -34
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.ts +43 -45
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.ts +43 -45
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.ts +43 -34
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/BinaryEffectPlugin.ts +48 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/ArrayItemsValidatorPlugin.ts +102 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/ConstValidatorPlugin.ts +48 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.ts +46 -30
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EnumValidatorPlugin.ts +82 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.ts +66 -35
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IntegerValidatorPlugin.ts +43 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MaxLengthValidatorPlugin.ts +49 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.ts +56 -31
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MultipleOfValidatorPlugin.ts +55 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/ObjectPropertiesValidatorPlugin.ts +63 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.ts +830 -39
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.ts +96 -39
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RequiredValidatorPlugin.ts +72 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.ts +56 -36
- package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.ts +52 -24
- package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor.ts +199 -160
- package/src/nz/co/siliconst/ui5/metaui/typings/ui5-custom.d.ts +53 -20
- package/src/nz/co/siliconst/ui5/metaui/utils/AccessibilityUtil.ts +444 -0
- package/src/nz/co/siliconst/ui5/metaui/utils/ControlCapabilities.ts +495 -0
- package/src/nz/co/siliconst/ui5/metaui/utils/ControlDirectiveUtil.ts +527 -0
- package/src/nz/co/siliconst/ui5/metaui/utils/DictionaryMapUtil.ts +360 -0
- package/src/nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder.ts +345 -43
- package/src/nz/co/siliconst/ui5/metaui/utils/I18n.ts +238 -0
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger.ts +93 -75
- package/src/nz/co/siliconst/ui5/metaui/utils/PolicyConditionUtil.ts +45 -0
- package/src/nz/co/siliconst/ui5/metaui/utils/PolymorphicUtil.ts +301 -0
- package/src/nz/co/siliconst/ui5/metaui/utils/TypeGuards.ts +151 -0
- package/src/nz/co/siliconst/ui5/metaui/utils/UrlValidator.ts +233 -0
- package/ui5.yaml +31 -4
- package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig-dbg.js +0 -47
- package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig.d.ts +0 -28
- package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig.ts +0 -39
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator-dbg.js +0 -85
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.d.ts +0 -30
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.ts +0 -82
- package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy-dbg.js +0 -61
- package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy.d.ts +0 -13
- package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy.ts +0 -59
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy-dbg.js +0 -50
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.d.ts +0 -12
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.ts +0 -44
- package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants-dbg.js +0 -111
- package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.d.ts +0 -95
- package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl-dbg.js +0 -70
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.d.ts +0 -67
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer-dbg.js +0 -28
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.d.ts +0 -16
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js +0 -156
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.d.ts +0 -43
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js +0 -541
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts +0 -283
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js +0 -95
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts +0 -30
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js +0 -69
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts +0 -33
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js +0 -183
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts +0 -44
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js +0 -171
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts +0 -64
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js +0 -797
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts +0 -329
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js +0 -144
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts +0 -46
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js +0 -147
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts +0 -36
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js +0 -135
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts +0 -54
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js +0 -136
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts +0 -57
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js +0 -88
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.d.ts +0 -33
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js +0 -453
- package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts +0 -120
- package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/Engine.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/core/Engine.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator-dbg.js +0 -86
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.d.ts +0 -16
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer-dbg.js +0 -142
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.d.ts +0 -24
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js +0 -145
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.d.ts +0 -53
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js +0 -335
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts +0 -70
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine-dbg.js +0 -229
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.d.ts +0 -68
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/Registry-dbg.js +0 -81
- package/src/nz/co/siliconst/ui5/metaui/core/Registry-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/Registry.d.ts +0 -43
- package/src/nz/co/siliconst/ui5/metaui/core/Registry.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/Registry.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/core/Registry.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry-dbg.js +0 -47
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry.d.ts +0 -23
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js +0 -325
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts +0 -68
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js +0 -67
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.d.ts +0 -11
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js +0 -243
- package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts +0 -77
- package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager-dbg.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.d.ts +0 -19
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline-dbg.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.d.ts +0 -38
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin-dbg.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts +0 -76
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin-dbg.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.d.ts +0 -50
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema-dbg.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts +0 -134
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchemaBuilderPlugin-dbg.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchemaBuilderPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchemaBuilderPlugin.d.ts +0 -24
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchemaBuilderPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchemaBuilderPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchemaBuilderPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout-dbg.js +0 -158
- package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.d.ts +0 -36
- package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js +0 -184
- package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.d.ts +0 -36
- package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js +0 -225
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.d.ts +0 -29
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout-dbg.js +0 -398
- package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.d.ts +0 -78
- package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/library-dbg.js +0 -19
- package/src/nz/co/siliconst/ui5/metaui/library-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/library-preload.js +0 -135
- package/src/nz/co/siliconst/ui5/metaui/library-preload.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/library.d.ts +0 -36
- package/src/nz/co/siliconst/ui5/metaui/library.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/library.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/library.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/manifest.json +0 -43
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder-dbg.js +0 -93
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder.d.ts +0 -52
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory-dbg.js +0 -48
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.d.ts +0 -25
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver-dbg.js +0 -68
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.d.ts +0 -21
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper-dbg.js +0 -45
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper.d.ts +0 -25
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper-dbg.js +0 -97
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.d.ts +0 -34
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine-dbg.js +0 -50
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.d.ts +0 -25
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin-dbg.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.d.ts +0 -23
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic-dbg.js +0 -121
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.d.ts +0 -47
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin-dbg.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin.d.ts +0 -26
- package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser-dbg.js +0 -114
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.d.ts +0 -27
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser-dbg.js +0 -114
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.d.ts +0 -27
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper-dbg.js +0 -271
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.d.ts +0 -46
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js +0 -58
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.d.ts +0 -22
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin-dbg.js +0 -53
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.d.ts +0 -21
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin-dbg.js +0 -46
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.d.ts +0 -23
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js +0 -117
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts +0 -31
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js +0 -88
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts +0 -29
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.ts +0 -95
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js +0 -383
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts +0 -151
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js +0 -99
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts +0 -36
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js +0 -77
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts +0 -28
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js +0 -205
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts +0 -50
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js +0 -92
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts +0 -35
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js +0 -92
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts +0 -35
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin-dbg.js +0 -218
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.d.ts +0 -26
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js +0 -114
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts +0 -39
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin-dbg.js +0 -48
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.d.ts +0 -11
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js +0 -83
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts +0 -38
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js +0 -75
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts +0 -28
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin-dbg.js +0 -58
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.d.ts +0 -11
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js +0 -64
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts +0 -38
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin-dbg.js +0 -210
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.d.ts +0 -54
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js +0 -91
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts +0 -39
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js +0 -118
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts +0 -35
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js +0 -108
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts +0 -37
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin-dbg.js +0 -49
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.d.ts +0 -11
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js +0 -79
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts +0 -38
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin-dbg.js +0 -211
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.d.ts +0 -29
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js +0 -81
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts +0 -33
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js +0 -75
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts +0 -28
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js +0 -82
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts +0 -38
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js +0 -89
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.d.ts +0 -35
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js +0 -87
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts +0 -39
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js +0 -78
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts +0 -35
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js +0 -119
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts +0 -36
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js +0 -93
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts +0 -35
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js +0 -78
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts +0 -28
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js +0 -103
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.d.ts +0 -36
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js +0 -70
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.d.ts +0 -29
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js +0 -146
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts +0 -39
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js +0 -100
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.d.ts +0 -44
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin-dbg.js +0 -36
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.d.ts +0 -25
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin-dbg.js +0 -38
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.d.ts +0 -24
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin-dbg.js +0 -37
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.d.ts +0 -22
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin-dbg.js +0 -36
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.d.ts +0 -23
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin-dbg.js +0 -41
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.d.ts +0 -24
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin-dbg.js +0 -41
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.d.ts +0 -24
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin-dbg.js +0 -52
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.d.ts +0 -30
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin-dbg.js +0 -52
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.d.ts +0 -30
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin-dbg.js +0 -41
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.d.ts +0 -24
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin-dbg.js +0 -40
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.d.ts +0 -28
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.ts +0 -34
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin-dbg.js +0 -40
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.d.ts +0 -28
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.ts +0 -34
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin-dbg.js +0 -40
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.d.ts +0 -28
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.ts +0 -34
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin-dbg.js +0 -40
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.d.ts +0 -28
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.ts +0 -34
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin-dbg.js +0 -45
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.d.ts +0 -24
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin-dbg.js +0 -48
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.d.ts +0 -24
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin-dbg.js +0 -47
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.d.ts +0 -23
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin-dbg.js +0 -57
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.d.ts +0 -23
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin-dbg.js +0 -55
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.d.ts +0 -23
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin-dbg.js +0 -54
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.d.ts +0 -23
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider-dbg.js +0 -33
- package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.d.ts +0 -14
- package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor-dbg.js +0 -146
- package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor.d.ts +0 -27
- package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder-dbg.js +0 -50
- package/src/nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder.d.ts +0 -19
- package/src/nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger-dbg.js +0 -83
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger.d.ts +0 -29
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger.js.map +0 -1
|
@@ -1,39 +1,830 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file PatternValidatorPlugin.ts
|
|
3
|
-
* @description
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @file PatternValidatorPlugin.ts
|
|
3
|
+
* @description Validates string values against a JSON-Schema `pattern` regular expression, refusing
|
|
4
|
+
* schema-supplied patterns whose shape admits catastrophic backtracking before they are ever executed.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { IValidator, IValidationResult, IValidatorRuleExtraction } from "../../interfaces/IPipeline";
|
|
8
|
+
import { IPropertyMetadata } from "../../interfaces/ISchema";
|
|
9
|
+
import { Logger } from "../../utils/Logger";
|
|
10
|
+
import { I18n, TEXT_KEY } from "../../utils/I18n";
|
|
11
|
+
|
|
12
|
+
/** Longest `pattern` source accepted from a schema. */
|
|
13
|
+
const MAX_PATTERN_LENGTH = 512;
|
|
14
|
+
|
|
15
|
+
/** Wall-clock budget for evaluating one pattern against one value before it is quarantined. */
|
|
16
|
+
const EVALUATION_BUDGET_MS = 50;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Longest value a pattern the screen could not prove linear is allowed to be run against.
|
|
20
|
+
*
|
|
21
|
+
* The screen refuses every shape whose cost is exponential, so what reaches this cap is a repeat
|
|
22
|
+
* whose iterations are pinned by a disjoint fixed element — polynomial, and measured at well under
|
|
23
|
+
* the budget for a 256-character value. The cap bounds the *first* evaluation, which the
|
|
24
|
+
* post-hoc {@link EVALUATION_BUDGET_MS} check by construction cannot.
|
|
25
|
+
*/
|
|
26
|
+
const MAX_UNPROVEN_INPUT_LENGTH = 256;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* How many ways consecutive quantifiers may redistribute one run of characters between them.
|
|
30
|
+
*
|
|
31
|
+
* Nesting is not the only route to superlinear backtracking. `^.*.*.*x$` contains no repeated
|
|
32
|
+
* group at all, yet its three `.*` atoms compete for the same characters and the engine tries
|
|
33
|
+
* every split. Each quantifier contributes `max - min + 1` choices (an unbounded one contributes
|
|
34
|
+
* as many as the value may be long), and the run's cost is their product. Measured on `^.*…x$`
|
|
35
|
+
* against `n` characters of `a`:
|
|
36
|
+
*
|
|
37
|
+
* | quantifiers | n=100 | n=256 |
|
|
38
|
+
* |-------------|---------|----------|
|
|
39
|
+
* | 1 | 0.01 ms | 0.06 ms |
|
|
40
|
+
* | 2 | 0.05 ms | 0.09 ms |
|
|
41
|
+
* | 3 | 0.98 ms | 4.99 ms |
|
|
42
|
+
* | 4 | 22.6 ms | 278 ms |
|
|
43
|
+
* | 5 | 477 ms | 12998 ms |
|
|
44
|
+
*
|
|
45
|
+
* Two unbounded quantifiers give a product of 257² ≈ 66k, which measures 0.09 ms at the cap and is
|
|
46
|
+
* what ordinary patterns such as `^[\w.-]+@[\w.-]+\.[a-z]{2,}$` produce, so that is allowed and
|
|
47
|
+
* capped. Three give 1.7e7, which is tolerable only *because* of
|
|
48
|
+
* {@link MAX_UNPROVEN_INPUT_LENGTH} — uncapped it reaches ~19 s at 4000 characters — and `.*.*.*`
|
|
49
|
+
* is redundant in any pattern a human meant to write, so the limit sits between the two. Counting
|
|
50
|
+
* the product rather than the quantifiers also catches `^a{0,9}a{0,9}a{0,9}a{0,9}a{0,9}a{0,9}a{0,9}b$`,
|
|
51
|
+
* whose spans are finite but whose 10⁷ combinations are not.
|
|
52
|
+
*/
|
|
53
|
+
const MAX_SEQUENTIAL_SEARCH_SPACE = 1_000_000;
|
|
54
|
+
|
|
55
|
+
/** Upper bound on the memoisation maps so a hostile schema cannot grow them without limit. */
|
|
56
|
+
const MAX_CACHE_ENTRIES = 256;
|
|
57
|
+
|
|
58
|
+
/** Placeholder first-character token for a group with more than one alternation branch. */
|
|
59
|
+
const MULTI_BRANCH_TOKEN = "<multi-branch>";
|
|
60
|
+
|
|
61
|
+
/** Ceiling on a pattern's probe alphabet, so an exotic source cannot make the analysis expensive. */
|
|
62
|
+
const MAX_PROBE_ALPHABET = 320;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Characters every pattern's matchers are probed with: the whole of ASCII plus representatives of
|
|
66
|
+
* the ranges beyond it.
|
|
67
|
+
*
|
|
68
|
+
* @returns {string} The base probe alphabet.
|
|
69
|
+
*/
|
|
70
|
+
function buildBaseProbeAlphabet(): string {
|
|
71
|
+
let probes = "";
|
|
72
|
+
for (let code = 0; code < 128; code++) {
|
|
73
|
+
probes += String.fromCharCode(code);
|
|
74
|
+
}
|
|
75
|
+
return probes + " é€あ";
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** The base probe alphabet, built once. */
|
|
79
|
+
const BASE_PROBE_ALPHABET = buildBaseProbeAlphabet();
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Builds the alphabet one pattern's matchers are probed with.
|
|
83
|
+
*
|
|
84
|
+
* ASCII alone decides `[a-z]` against `\.` correctly but is blind to two classes that meet only
|
|
85
|
+
* outside it: `[Ѐ-ѐa]` and `[р-ӿb]` share every character from U+0440 to
|
|
86
|
+
* U+0450 while their ASCII members `a` and `b` are disjoint, so the screen read the second as
|
|
87
|
+
* pinning the first and let an exponential pattern through — measured at 90 ms on a 31-character
|
|
88
|
+
* value. Adding the pattern's own characters, and those its `\uXXXX` and `\xXX` escapes denote,
|
|
89
|
+
* puts every range endpoint the author wrote into the alphabet; two ranges that overlap always
|
|
90
|
+
* place an endpoint of one inside the other, so the simple cases become exact rather than sampled.
|
|
91
|
+
*
|
|
92
|
+
* @param source The regular expression source.
|
|
93
|
+
* @returns {string} The probe alphabet for this pattern.
|
|
94
|
+
*/
|
|
95
|
+
function createProbeAlphabet(source: string): string {
|
|
96
|
+
const seen = new Set<string>();
|
|
97
|
+
let alphabet = "";
|
|
98
|
+
const add = (ch: string): void => {
|
|
99
|
+
if (!seen.has(ch) && alphabet.length < MAX_PROBE_ALPHABET) {
|
|
100
|
+
seen.add(ch);
|
|
101
|
+
alphabet += ch;
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
for (const ch of BASE_PROBE_ALPHABET) {
|
|
105
|
+
add(ch);
|
|
106
|
+
}
|
|
107
|
+
for (const ch of source) {
|
|
108
|
+
add(ch);
|
|
109
|
+
}
|
|
110
|
+
const escapes = /\\u\{([0-9a-fA-F]{1,6})\}|\\u([0-9a-fA-F]{4})|\\x([0-9a-fA-F]{2})/g;
|
|
111
|
+
let match = escapes.exec(source);
|
|
112
|
+
while (match !== null) {
|
|
113
|
+
const code = Number.parseInt(match[1] || match[2] || match[3], 16);
|
|
114
|
+
if (code <= 0x10ffff) {
|
|
115
|
+
add(String.fromCodePoint(code));
|
|
116
|
+
}
|
|
117
|
+
match = escapes.exec(source);
|
|
118
|
+
}
|
|
119
|
+
return alphabet;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/** Outcome of the static screen for one pattern source. */
|
|
123
|
+
interface IPatternVerdict {
|
|
124
|
+
/** The refusal reason, or an empty string when the pattern is accepted. */
|
|
125
|
+
readonly reason: string;
|
|
126
|
+
/** True when the pattern is accepted but its running time could not be proven linear. */
|
|
127
|
+
readonly unproven: boolean;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/** Memoised screen verdicts keyed by pattern source. */
|
|
131
|
+
const analysisCache = new Map<string, IPatternVerdict>();
|
|
132
|
+
|
|
133
|
+
/** Pattern sources that exceeded {@link EVALUATION_BUDGET_MS} once and are refused from then on. */
|
|
134
|
+
const quarantinedPatterns = new Set<string>();
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Clears the module-level memoisation and quarantine maps.
|
|
138
|
+
*
|
|
139
|
+
* Test-only. Both maps are process-global and live for the whole session by design, which makes
|
|
140
|
+
* them invisible state across test cases: a mutation-testing worker is reused between mutants, so a
|
|
141
|
+
* verdict analysed under one mutant can be served from the memo to the next and report it as
|
|
142
|
+
* survived, and no test can re-evaluate a pattern it has already quarantined. Production code must
|
|
143
|
+
* not call this — the caches exist precisely so a hostile pattern is screened once per session.
|
|
144
|
+
*
|
|
145
|
+
* @returns {void}
|
|
146
|
+
* @internal
|
|
147
|
+
*/
|
|
148
|
+
export function resetPatternSafetyState(): void {
|
|
149
|
+
analysisCache.clear();
|
|
150
|
+
quarantinedPatterns.clear();
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* What one parsed atom contributes to the group that contains it.
|
|
155
|
+
*/
|
|
156
|
+
interface IAtomSummary {
|
|
157
|
+
/** First-character token, used to detect alternation branches that start alike. */
|
|
158
|
+
readonly first: string;
|
|
159
|
+
/** False for zero-width atoms (`\b`, lookarounds), which anchor nothing. */
|
|
160
|
+
readonly consumes: boolean;
|
|
161
|
+
/** True when the atom was a parenthesised sub-expression. */
|
|
162
|
+
readonly isGroup: boolean;
|
|
163
|
+
/** The probe characters this atom can consume; for a group, the union over its contents. */
|
|
164
|
+
readonly chars: string;
|
|
165
|
+
/**
|
|
166
|
+
* True when the atom can absorb a variable amount of input: a quantified atom (`a+`), or a
|
|
167
|
+
* group whose own contents are unanchored. A group contributes exactly the verdict its contents
|
|
168
|
+
* produce, which is what makes an extra layer of parentheses transparent to the screen.
|
|
169
|
+
*/
|
|
170
|
+
variable: boolean;
|
|
171
|
+
/**
|
|
172
|
+
* Ways this atom can redistribute input with whatever follows it: its own quantifier's choices,
|
|
173
|
+
* or, for an unquantified group, the choices its own trailing sequence offers. The second case
|
|
174
|
+
* is what keeps `(?:a*)(?:a*)(?:a*)x` from reading as three fixed atoms.
|
|
175
|
+
*/
|
|
176
|
+
space: number;
|
|
177
|
+
/** The probe characters that redistribution competes for. */
|
|
178
|
+
spaceChars: string;
|
|
179
|
+
/** True when the atom's sub-expression contains at least one variable-length element. */
|
|
180
|
+
readonly containsVariable: boolean;
|
|
181
|
+
/** True when the atom's sub-expression admits more than one parse of the same text. */
|
|
182
|
+
readonly ambiguous: boolean;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Mutable analysis state for one regex group (or for the pattern's implicit outermost group).
|
|
187
|
+
*/
|
|
188
|
+
interface IGroupFrame {
|
|
189
|
+
/** True for `(?=…)`, `(?!…)`, `(?<=…)` and `(?<!…)`, which consume no input. */
|
|
190
|
+
readonly lookaround: boolean;
|
|
191
|
+
/** First-character token of each completed alternation branch; empty when the branch matches nothing. */
|
|
192
|
+
readonly branchFirsts: string[];
|
|
193
|
+
/** Whether each completed branch is unanchored, and so free to redistribute input under a repeat. */
|
|
194
|
+
readonly branchUnanchored: boolean[];
|
|
195
|
+
/** The redistribution each completed branch still offers at its right edge. */
|
|
196
|
+
readonly branchSpaces: number[];
|
|
197
|
+
/** The probe characters each of those trailing runs competes for. */
|
|
198
|
+
readonly branchSpaceChars: string[];
|
|
199
|
+
/** The atoms of the branch currently being parsed. */
|
|
200
|
+
currentAtoms: IAtomSummary[];
|
|
201
|
+
/** Sticky across branches: some atom in this group is, or contains, a variable-length element. */
|
|
202
|
+
containsVariable: boolean;
|
|
203
|
+
/** Sticky across branches: some atom in this group is, or contains, an ambiguous alternation. */
|
|
204
|
+
containsAmbiguity: boolean;
|
|
205
|
+
/** Sticky across branches: the union of every probe character this group can consume. */
|
|
206
|
+
chars: string;
|
|
207
|
+
/** Ways the quantifiers of the current sequence can redistribute input between them; 1 when none. */
|
|
208
|
+
runSpace: number;
|
|
209
|
+
/** The union of the probe characters those quantified atoms can consume. */
|
|
210
|
+
runChars: string;
|
|
211
|
+
/** The most recent atom, so a following quantifier knows what it repeats. */
|
|
212
|
+
lastAtom: IAtomSummary | undefined;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/** Mutable state threaded through one whole-pattern analysis. */
|
|
216
|
+
interface IAnalysisState {
|
|
217
|
+
/** Set when a repeating quantifier is applied to a group the screen cannot prove linear. */
|
|
218
|
+
unproven: boolean;
|
|
219
|
+
/** Probe characters per atom token, so a token repeated in one pattern is probed once. */
|
|
220
|
+
readonly charsByToken: Map<string, string>;
|
|
221
|
+
/** The probe alphabet for this pattern, from {@link createProbeAlphabet}. */
|
|
222
|
+
readonly alphabet: string;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Reports which probe characters a single-character matcher token can consume.
|
|
227
|
+
*
|
|
228
|
+
* The regular-expression engine itself is the oracle, so class semantics (`[^0-9]`, `\w`, `.`,
|
|
229
|
+
* negation, ranges) need no re-implementation. A token that cannot be compiled in isolation, or
|
|
230
|
+
* that matches nothing probed, is treated as matching everything: for an anchoring test, assuming
|
|
231
|
+
* overlap is the conservative direction.
|
|
232
|
+
*
|
|
233
|
+
* @param token The atom's source text.
|
|
234
|
+
* @param state The whole-pattern analysis state, holding the per-token memo.
|
|
235
|
+
* @returns {string} The probe characters the token matches.
|
|
236
|
+
*/
|
|
237
|
+
function matchableCharacters(token: string, state: IAnalysisState): string {
|
|
238
|
+
const memoized = state.charsByToken.get(token);
|
|
239
|
+
if (memoized !== undefined) {
|
|
240
|
+
return memoized;
|
|
241
|
+
}
|
|
242
|
+
let matched = "";
|
|
243
|
+
try {
|
|
244
|
+
const probe = new RegExp(`^(?:${token})$`);
|
|
245
|
+
for (const ch of state.alphabet) {
|
|
246
|
+
if (probe.test(ch)) {
|
|
247
|
+
matched += ch;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
} catch (e) {
|
|
251
|
+
// CATCH_EXEMPT: this is a probe that asks which alphabet characters a regex token accepts.
|
|
252
|
+
// A token the engine rejects yields no information, and falling back to the full alphabet
|
|
253
|
+
// below is the conservative answer. The real pattern error is reported by validate().
|
|
254
|
+
void e;
|
|
255
|
+
matched = "";
|
|
256
|
+
}
|
|
257
|
+
const chars = matched === "" ? state.alphabet : matched;
|
|
258
|
+
state.charsByToken.set(token, chars);
|
|
259
|
+
return chars;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Reports how many lengths a quantifier lets its atom match.
|
|
264
|
+
*
|
|
265
|
+
* An unbounded quantifier can take as many as the longest value it will ever be run against, which
|
|
266
|
+
* {@link MAX_UNPROVEN_INPUT_LENGTH} bounds; a finite one is bounded by its own span.
|
|
267
|
+
*
|
|
268
|
+
* @param min The quantifier's lower bound.
|
|
269
|
+
* @param max The quantifier's upper bound, `Infinity` when unbounded.
|
|
270
|
+
* @returns {number} The number of choices the quantifier offers the engine.
|
|
271
|
+
*/
|
|
272
|
+
function quantifierChoices(min: number, max: number): number {
|
|
273
|
+
const ceiling = MAX_UNPROVEN_INPUT_LENGTH + 1;
|
|
274
|
+
if (max === Infinity) {
|
|
275
|
+
return ceiling;
|
|
276
|
+
}
|
|
277
|
+
return Math.min(max - min + 1, ceiling);
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* Reports whether two probe-character sets have no character in common.
|
|
282
|
+
*
|
|
283
|
+
* @param left The first set.
|
|
284
|
+
* @param right The second set.
|
|
285
|
+
* @returns {boolean} True when the two matchers can never consume the same character.
|
|
286
|
+
*/
|
|
287
|
+
function disjoint(left: string, right: string): boolean {
|
|
288
|
+
const shorter = left.length <= right.length ? left : right;
|
|
289
|
+
const longer = shorter === left ? right : left;
|
|
290
|
+
for (const ch of shorter) {
|
|
291
|
+
if (longer.indexOf(ch) >= 0) {
|
|
292
|
+
return false;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
return true;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* Creates an empty analysis frame.
|
|
300
|
+
*
|
|
301
|
+
* @param lookaround True when the frame describes a zero-width assertion group.
|
|
302
|
+
* @returns {IGroupFrame} The initialised frame.
|
|
303
|
+
*/
|
|
304
|
+
function createFrame(lookaround: boolean): IGroupFrame {
|
|
305
|
+
return {
|
|
306
|
+
lookaround,
|
|
307
|
+
branchFirsts: [],
|
|
308
|
+
branchUnanchored: [],
|
|
309
|
+
branchSpaces: [],
|
|
310
|
+
branchSpaceChars: [],
|
|
311
|
+
currentAtoms: [],
|
|
312
|
+
containsVariable: false,
|
|
313
|
+
containsAmbiguity: false,
|
|
314
|
+
chars: "",
|
|
315
|
+
runSpace: 1,
|
|
316
|
+
runChars: "",
|
|
317
|
+
lastAtom: undefined
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* Creates the summary of a plain, non-group atom (a literal, an escape or a character class).
|
|
323
|
+
*
|
|
324
|
+
* @param token The atom's source text.
|
|
325
|
+
* @param consumes False for the zero-width escapes `\b` and `\B`.
|
|
326
|
+
* @param state The whole-pattern analysis state.
|
|
327
|
+
* @returns {IAtomSummary} The atom summary.
|
|
328
|
+
*/
|
|
329
|
+
function createLeafAtom(token: string, consumes: boolean, state: IAnalysisState): IAtomSummary {
|
|
330
|
+
return {
|
|
331
|
+
first: token,
|
|
332
|
+
consumes,
|
|
333
|
+
isGroup: false,
|
|
334
|
+
chars: consumes ? matchableCharacters(token, state) : "",
|
|
335
|
+
variable: false,
|
|
336
|
+
space: 1,
|
|
337
|
+
spaceChars: "",
|
|
338
|
+
containsVariable: false,
|
|
339
|
+
ambiguous: false
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
/**
|
|
344
|
+
* Folds one atom's redistribution into the frame's current sequence and reports the refusal.
|
|
345
|
+
*
|
|
346
|
+
* This is the sequential counterpart of {@link isBranchUnanchored}, and it uses the same
|
|
347
|
+
* disjointness test. An atom that offers no choices (`space` of 1) can only *end* a sequence, and
|
|
348
|
+
* does so when the preceding run cannot consume it — the `-` in `^\d+-\d+$` pins the split, so the
|
|
349
|
+
* two `\d+` never compete. An atom that offers choices either extends the run it overlaps or
|
|
350
|
+
* starts a new one, and the run's cost is the product of the choices along it.
|
|
351
|
+
*
|
|
352
|
+
* @param frame The active group frame.
|
|
353
|
+
* @param space The number of choices the atom offers.
|
|
354
|
+
* @param chars The probe characters those choices compete for.
|
|
355
|
+
* @param state The whole-pattern analysis state.
|
|
356
|
+
* @returns {string} The refusal reason, or an empty string when the sequence is acceptable.
|
|
357
|
+
*/
|
|
358
|
+
function extendRun(frame: IGroupFrame, space: number, chars: string, state: IAnalysisState): string {
|
|
359
|
+
if (space <= 1) {
|
|
360
|
+
if (frame.runSpace > 1 && disjoint(chars, frame.runChars)) {
|
|
361
|
+
frame.runSpace = 1;
|
|
362
|
+
frame.runChars = "";
|
|
363
|
+
}
|
|
364
|
+
return "";
|
|
365
|
+
}
|
|
366
|
+
const extendsRun = frame.runSpace > 1 && !disjoint(chars, frame.runChars);
|
|
367
|
+
frame.runSpace = (extendsRun ? frame.runSpace : 1) * space;
|
|
368
|
+
frame.runChars = extendsRun ? frame.runChars + chars : chars;
|
|
369
|
+
if (frame.runSpace > MAX_SEQUENTIAL_SEARCH_SPACE) {
|
|
370
|
+
return (
|
|
371
|
+
"consecutive quantifiers compete for the same characters, with nothing between them to " +
|
|
372
|
+
"pin the split, in more combinations than can be evaluated safely"
|
|
373
|
+
);
|
|
374
|
+
}
|
|
375
|
+
if (frame.runSpace > space) {
|
|
376
|
+
state.unproven = true;
|
|
377
|
+
}
|
|
378
|
+
return "";
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
/**
|
|
382
|
+
* Records an atom on the active frame, inheriting the atom's reach, variability and ambiguity.
|
|
383
|
+
*
|
|
384
|
+
* Inheritance is the whole point: without it a group that carries no quantifier of its own
|
|
385
|
+
* contributes nothing, so `((a+))+` reads as a quantifier over a fixed element while `(a+)+`
|
|
386
|
+
* reads as a quantifier over a variable one, and one extra layer of parentheses defeats the screen.
|
|
387
|
+
* The same applies in sequence: `(?:a*)(?:a*)(?:a*)x` must read as `a*a*a*x`, so a group carries its
|
|
388
|
+
* own trailing redistribution into its parent through {@link extendRun}.
|
|
389
|
+
*
|
|
390
|
+
* @param frame The active group frame.
|
|
391
|
+
* @param atom The atom to record.
|
|
392
|
+
* @param state The whole-pattern analysis state.
|
|
393
|
+
* @returns {string} The refusal reason, or an empty string when the atom is acceptable.
|
|
394
|
+
*/
|
|
395
|
+
function pushAtom(frame: IGroupFrame, atom: IAtomSummary, state: IAnalysisState): string {
|
|
396
|
+
let reason = "";
|
|
397
|
+
if (atom.consumes) {
|
|
398
|
+
frame.currentAtoms.push(atom);
|
|
399
|
+
frame.chars += atom.chars;
|
|
400
|
+
// The atom arrives before its own quantifier is read, so a leaf offers no choices yet and
|
|
401
|
+
// can only end a run. A group already knows what its own trailing sequence offers.
|
|
402
|
+
reason = extendRun(frame, atom.space, atom.space > 1 ? atom.spaceChars : atom.chars, state);
|
|
403
|
+
if (atom.variable || atom.containsVariable) {
|
|
404
|
+
frame.containsVariable = true;
|
|
405
|
+
}
|
|
406
|
+
if (atom.ambiguous) {
|
|
407
|
+
frame.containsAmbiguity = true;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
frame.lastAtom = atom;
|
|
411
|
+
return reason;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* Reports whether a repeat of this branch could redistribute the same input between its iterations.
|
|
416
|
+
*
|
|
417
|
+
* A branch is *anchored* when it contains a fixed-length element that no variable-length element of
|
|
418
|
+
* the same branch can consume: `[a-z]+\.` is pinned by the `.`, so each iteration of `([a-z]+\.)+`
|
|
419
|
+
* ends at the next dot and there is nothing to redistribute. It is *unanchored* when every element
|
|
420
|
+
* is variable-length (`(a+)+`, `(\w+\s?)*`) or when every fixed element overlaps a variable one
|
|
421
|
+
* (`(a+a)+`, `([\w.]+\.)+`) — the fixed element then pins nothing and the repeat is exponential.
|
|
422
|
+
*
|
|
423
|
+
* @param atoms The consuming atoms of one completed branch.
|
|
424
|
+
* @returns {boolean} True when a repeat of the branch is free to redistribute input.
|
|
425
|
+
*/
|
|
426
|
+
function isBranchUnanchored(atoms: readonly IAtomSummary[]): boolean {
|
|
427
|
+
if (atoms.length === 0) {
|
|
428
|
+
return false;
|
|
429
|
+
}
|
|
430
|
+
let variableChars = "";
|
|
431
|
+
let hasVariable = false;
|
|
432
|
+
for (const atom of atoms) {
|
|
433
|
+
if (atom.variable) {
|
|
434
|
+
hasVariable = true;
|
|
435
|
+
variableChars += atom.chars;
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
if (!hasVariable) {
|
|
439
|
+
return false;
|
|
440
|
+
}
|
|
441
|
+
return !atoms.some((atom) => !atom.variable && disjoint(atom.chars, variableChars));
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* Closes the alternation branch currently being parsed and resets per-branch state.
|
|
446
|
+
*
|
|
447
|
+
* `containsVariable`, `containsAmbiguity` and `chars` are deliberately not reset: they describe the
|
|
448
|
+
* group as a whole, and a repeating quantifier over the group repeats every branch of it.
|
|
449
|
+
*
|
|
450
|
+
* @param frame The active group frame.
|
|
451
|
+
*/
|
|
452
|
+
function closeBranch(frame: IGroupFrame): void {
|
|
453
|
+
const consuming = frame.currentAtoms;
|
|
454
|
+
frame.branchFirsts.push(consuming.length > 0 ? consuming[0].first : "");
|
|
455
|
+
frame.branchUnanchored.push(isBranchUnanchored(consuming));
|
|
456
|
+
frame.branchSpaces.push(frame.runSpace);
|
|
457
|
+
frame.branchSpaceChars.push(frame.runChars);
|
|
458
|
+
frame.currentAtoms = [];
|
|
459
|
+
frame.runSpace = 1;
|
|
460
|
+
frame.runChars = "";
|
|
461
|
+
frame.lastAtom = undefined;
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
/**
|
|
465
|
+
* Collapses a closed frame into the atom description its parent frame needs.
|
|
466
|
+
*
|
|
467
|
+
* @param frame The closed group frame.
|
|
468
|
+
* @returns {IAtomSummary} The atom summary of the group.
|
|
469
|
+
*/
|
|
470
|
+
function summarizeFrame(frame: IGroupFrame): IAtomSummary {
|
|
471
|
+
if (frame.lookaround) {
|
|
472
|
+
return {
|
|
473
|
+
first: "",
|
|
474
|
+
consumes: false,
|
|
475
|
+
isGroup: true,
|
|
476
|
+
chars: "",
|
|
477
|
+
variable: false,
|
|
478
|
+
space: 1,
|
|
479
|
+
spaceChars: "",
|
|
480
|
+
containsVariable: false,
|
|
481
|
+
ambiguous: false
|
|
482
|
+
};
|
|
483
|
+
}
|
|
484
|
+
const firsts = frame.branchFirsts;
|
|
485
|
+
let overlapping = false;
|
|
486
|
+
for (let i = 0; i < firsts.length && !overlapping; i++) {
|
|
487
|
+
for (let j = i + 1; j < firsts.length && !overlapping; j++) {
|
|
488
|
+
overlapping = firsts[i] === firsts[j] || firsts[i] === "" || firsts[j] === "";
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
let widest = 0;
|
|
492
|
+
for (let i = 1; i < frame.branchSpaces.length; i++) {
|
|
493
|
+
if (frame.branchSpaces[i] > frame.branchSpaces[widest]) {
|
|
494
|
+
widest = i;
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
return {
|
|
498
|
+
first: firsts.length === 1 ? firsts[0] : MULTI_BRANCH_TOKEN,
|
|
499
|
+
consumes: true,
|
|
500
|
+
isGroup: true,
|
|
501
|
+
chars: frame.chars,
|
|
502
|
+
variable: frame.branchUnanchored.some(Boolean),
|
|
503
|
+
space: frame.branchSpaces.length > 0 ? frame.branchSpaces[widest] : 1,
|
|
504
|
+
spaceChars: frame.branchSpaceChars.length > 0 ? frame.branchSpaceChars[widest] : "",
|
|
505
|
+
containsVariable: frame.containsVariable,
|
|
506
|
+
ambiguous: overlapping || frame.containsAmbiguity
|
|
507
|
+
};
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
/**
|
|
511
|
+
* Applies a parsed quantifier to the most recent atom and reports the refusal reason, if any.
|
|
512
|
+
*
|
|
513
|
+
* Only shapes whose repetitions are *provably* ambiguous are refused:
|
|
514
|
+
*
|
|
515
|
+
* - the repeated sub-expression is unanchored (`(a+)+`, `(a?)*`, `(\w+\s?)*`, `(a+a)+`, and — once
|
|
516
|
+
* variability is inherited through the nesting — `((a+))+`, `(?:(a+))+` and `(((a+)))+` too), so
|
|
517
|
+
* the engine can redistribute the same characters between the inner and outer loops in
|
|
518
|
+
* exponentially many ways; or
|
|
519
|
+
* - two of its alternation branches start with the identical token (`(a|a)+`, `(a|)+`), at any depth
|
|
520
|
+
* inside the repeated sub-expression (`((a|a))+`, `(x(a|a))+`).
|
|
521
|
+
*
|
|
522
|
+
* A repeated sub-expression pinned by a fixed atom disjoint from its variable ones (`([a-z]+\.)+`,
|
|
523
|
+
* `(a+b)+`, `(\d{4})+`) is left to run rather than refused: the analysis cannot prove it linear, but
|
|
524
|
+
* refusing it would brick a legitimate form field. Those are flagged `unproven`, which caps the
|
|
525
|
+
* length of value they may be run against.
|
|
526
|
+
*
|
|
527
|
+
* The same disjointness test also governs quantifiers *in sequence*. Nesting is not the only way to
|
|
528
|
+
* make backtracking superlinear: `^.*.*.*x$` has no repeated group at all, yet the three `.*` atoms
|
|
529
|
+
* redistribute one run of characters between them and cost `O(n^3)`. A run of overlapping unbounded
|
|
530
|
+
* quantifiers is therefore counted, and {@link MAX_OVERLAPPING_UNBOUNDED} of them is refused.
|
|
531
|
+
* `^\d+-\d+$` is unaffected: the `-` is disjoint from `\d`, so it pins the split and ends the run.
|
|
532
|
+
*
|
|
533
|
+
* @param frame The active group frame.
|
|
534
|
+
* @param min The quantifier's lower bound.
|
|
535
|
+
* @param max The quantifier's upper bound, `Infinity` when unbounded.
|
|
536
|
+
* @param state The whole-pattern analysis state.
|
|
537
|
+
* @returns {string} The refusal reason, or an empty string when the quantifier is accepted.
|
|
538
|
+
*/
|
|
539
|
+
function applyQuantifier(frame: IGroupFrame, min: number, max: number, state: IAnalysisState): string {
|
|
540
|
+
const atom = frame.lastAtom;
|
|
541
|
+
if (atom && atom.isGroup && max > 1) {
|
|
542
|
+
if (atom.variable) {
|
|
543
|
+
return "a repeating quantifier is applied to a group whose iterations are not pinned by any fixed element";
|
|
544
|
+
}
|
|
545
|
+
if (atom.ambiguous) {
|
|
546
|
+
return "a repeating quantifier is applied to an ambiguous alternation";
|
|
547
|
+
}
|
|
548
|
+
if (atom.containsVariable) {
|
|
549
|
+
state.unproven = true;
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
if (atom && atom.consumes && max > min && !atom.variable) {
|
|
553
|
+
atom.variable = true;
|
|
554
|
+
frame.containsVariable = true;
|
|
555
|
+
}
|
|
556
|
+
const choices = quantifierChoices(min, max);
|
|
557
|
+
if (atom && atom.consumes && choices > 1) {
|
|
558
|
+
// The atom already ended any run it could not join when it was pushed; now that its own
|
|
559
|
+
// quantifier is known, it either extends the surviving run or opens one of its own.
|
|
560
|
+
atom.space = Math.max(atom.space, choices);
|
|
561
|
+
atom.spaceChars = atom.chars;
|
|
562
|
+
const reason = extendRun(frame, choices, atom.chars, state);
|
|
563
|
+
if (reason) {
|
|
564
|
+
return reason;
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
frame.lastAtom = undefined;
|
|
568
|
+
return "";
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
/**
|
|
572
|
+
* Scans a character class starting at `start` and returns the index just past its closing bracket.
|
|
573
|
+
*
|
|
574
|
+
* @param source The pattern source.
|
|
575
|
+
* @param start The index of the opening `[`.
|
|
576
|
+
* @returns {number} The index after the class.
|
|
577
|
+
*/
|
|
578
|
+
function scanCharacterClass(source: string, start: number): number {
|
|
579
|
+
let i = start + 1;
|
|
580
|
+
if (source[i] === "^") i++;
|
|
581
|
+
if (source[i] === "]") i++;
|
|
582
|
+
while (i < source.length && source[i] !== "]") {
|
|
583
|
+
i += source[i] === "\\" ? 2 : 1;
|
|
584
|
+
}
|
|
585
|
+
return i + 1;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* Reads the quantifier at `index`, if any.
|
|
590
|
+
*
|
|
591
|
+
* @param source The pattern source.
|
|
592
|
+
* @param index The candidate quantifier position.
|
|
593
|
+
* @returns {{ min: number; max: number; next: number } | undefined} The bounds and the index after it.
|
|
594
|
+
*/
|
|
595
|
+
function readQuantifier(source: string, index: number): { min: number; max: number; next: number } | undefined {
|
|
596
|
+
const ch = source[index];
|
|
597
|
+
let bounds: { min: number; max: number; next: number } | undefined;
|
|
598
|
+
if (ch === "*") bounds = { min: 0, max: Infinity, next: index + 1 };
|
|
599
|
+
else if (ch === "+") bounds = { min: 1, max: Infinity, next: index + 1 };
|
|
600
|
+
else if (ch === "?") bounds = { min: 0, max: 1, next: index + 1 };
|
|
601
|
+
else if (ch === "{") {
|
|
602
|
+
const match = /^\{(\d+)(?:,(\d*))?\}/.exec(source.slice(index));
|
|
603
|
+
if (match) {
|
|
604
|
+
const min = Number(match[1]);
|
|
605
|
+
const max = match[2] === undefined ? min : match[2] === "" ? Infinity : Number(match[2]);
|
|
606
|
+
bounds = { min, max, next: index + match[0].length };
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
if (bounds && (source[bounds.next] === "?" || source[bounds.next] === "+")) {
|
|
610
|
+
bounds.next++;
|
|
611
|
+
}
|
|
612
|
+
return bounds;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
/**
|
|
616
|
+
* Advances past a group's opening delimiter and reports whether it introduces a zero-width assertion.
|
|
617
|
+
*
|
|
618
|
+
* @param source The pattern source.
|
|
619
|
+
* @param index The index of the opening `(`.
|
|
620
|
+
* @returns {{ next: number; lookaround: boolean }} The index after the delimiter and the group kind.
|
|
621
|
+
*/
|
|
622
|
+
function readGroupOpening(source: string, index: number): { next: number; lookaround: boolean } {
|
|
623
|
+
let i = index + 1;
|
|
624
|
+
if (source[i] !== "?") {
|
|
625
|
+
return { next: i, lookaround: false };
|
|
626
|
+
}
|
|
627
|
+
const modifier = source[i + 1];
|
|
628
|
+
if (modifier === "=" || modifier === "!") {
|
|
629
|
+
return { next: i + 2, lookaround: true };
|
|
630
|
+
}
|
|
631
|
+
if (modifier === "<" && (source[i + 2] === "=" || source[i + 2] === "!")) {
|
|
632
|
+
return { next: i + 3, lookaround: true };
|
|
633
|
+
}
|
|
634
|
+
if (modifier === "<") {
|
|
635
|
+
const close = source.indexOf(">", i);
|
|
636
|
+
return { next: close < 0 ? i + 2 : close + 1, lookaround: false };
|
|
637
|
+
}
|
|
638
|
+
return { next: i + 2, lookaround: false };
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
/**
|
|
642
|
+
* Statically analyses a compiled pattern for the shapes that cause catastrophic backtracking.
|
|
643
|
+
*
|
|
644
|
+
* @param source The regular expression source.
|
|
645
|
+
* @returns {IPatternVerdict} The refusal reason, if any, and whether the accepted pattern is linear.
|
|
646
|
+
*/
|
|
647
|
+
function analyzeBacktracking(source: string): IPatternVerdict {
|
|
648
|
+
const stack: IGroupFrame[] = [createFrame(false)];
|
|
649
|
+
const state: IAnalysisState = {
|
|
650
|
+
unproven: false,
|
|
651
|
+
charsByToken: new Map<string, string>(),
|
|
652
|
+
alphabet: createProbeAlphabet(source)
|
|
653
|
+
};
|
|
654
|
+
let i = 0;
|
|
655
|
+
while (i < source.length) {
|
|
656
|
+
const frame = stack[stack.length - 1];
|
|
657
|
+
const ch = source[i];
|
|
658
|
+
if (ch === "\\") {
|
|
659
|
+
const escape = source.slice(i, i + 2);
|
|
660
|
+
const reason = pushAtom(frame, createLeafAtom(escape, escape !== "\\b" && escape !== "\\B", state), state);
|
|
661
|
+
if (reason) {
|
|
662
|
+
return { reason, unproven: state.unproven };
|
|
663
|
+
}
|
|
664
|
+
i += 2;
|
|
665
|
+
} else if (ch === "[") {
|
|
666
|
+
const next = scanCharacterClass(source, i);
|
|
667
|
+
const reason = pushAtom(frame, createLeafAtom(source.slice(i, next), true, state), state);
|
|
668
|
+
if (reason) {
|
|
669
|
+
return { reason, unproven: state.unproven };
|
|
670
|
+
}
|
|
671
|
+
i = next;
|
|
672
|
+
} else if (ch === "(") {
|
|
673
|
+
const opening = readGroupOpening(source, i);
|
|
674
|
+
stack.push(createFrame(opening.lookaround));
|
|
675
|
+
i = opening.next;
|
|
676
|
+
} else if (ch === ")") {
|
|
677
|
+
if (stack.length < 2) {
|
|
678
|
+
return { reason: "", unproven: state.unproven };
|
|
679
|
+
}
|
|
680
|
+
const closed = stack[stack.length - 1];
|
|
681
|
+
stack.pop();
|
|
682
|
+
closeBranch(closed);
|
|
683
|
+
const reason = pushAtom(stack[stack.length - 1], summarizeFrame(closed), state);
|
|
684
|
+
if (reason) {
|
|
685
|
+
return { reason, unproven: state.unproven };
|
|
686
|
+
}
|
|
687
|
+
i++;
|
|
688
|
+
} else if (ch === "|") {
|
|
689
|
+
closeBranch(frame);
|
|
690
|
+
i++;
|
|
691
|
+
} else if (ch === "^" || ch === "$") {
|
|
692
|
+
i++;
|
|
693
|
+
} else {
|
|
694
|
+
const quantifier = readQuantifier(source, i);
|
|
695
|
+
if (quantifier) {
|
|
696
|
+
const reason = applyQuantifier(frame, quantifier.min, quantifier.max, state);
|
|
697
|
+
if (reason) {
|
|
698
|
+
return { reason, unproven: state.unproven };
|
|
699
|
+
}
|
|
700
|
+
i = quantifier.next;
|
|
701
|
+
} else {
|
|
702
|
+
const reason = pushAtom(frame, createLeafAtom(ch, true, state), state);
|
|
703
|
+
if (reason) {
|
|
704
|
+
return { reason, unproven: state.unproven };
|
|
705
|
+
}
|
|
706
|
+
i++;
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
return { reason: "", unproven: state.unproven };
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
/**
|
|
714
|
+
* Returns the memoised screen verdict for a pattern source, analysing it on first use.
|
|
715
|
+
*
|
|
716
|
+
* @param source The regular expression source.
|
|
717
|
+
* @returns {IPatternVerdict} The verdict for the pattern.
|
|
718
|
+
*/
|
|
719
|
+
function resolveVerdict(source: string): IPatternVerdict {
|
|
720
|
+
const cached = analysisCache.get(source);
|
|
721
|
+
if (cached !== undefined) {
|
|
722
|
+
return cached;
|
|
723
|
+
}
|
|
724
|
+
const verdict = analyzeBacktracking(source);
|
|
725
|
+
if (verdict.reason) {
|
|
726
|
+
Logger.warn(`REFUSED 'pattern' as a denial-of-service risk (${verdict.reason}): '${source}'.`, undefined, "PatternValidatorPlugin");
|
|
727
|
+
}
|
|
728
|
+
if (analysisCache.size >= MAX_CACHE_ENTRIES) {
|
|
729
|
+
analysisCache.clear();
|
|
730
|
+
}
|
|
731
|
+
analysisCache.set(source, verdict);
|
|
732
|
+
return verdict;
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
/**
|
|
736
|
+
* Enforces the JSON-Schema `pattern` keyword. Per JSON-Schema semantics the keyword only constrains
|
|
737
|
+
* strings; other value types are ignored. An invalid regex is a schema authoring error and is reported
|
|
738
|
+
* as a failed validation rather than silently skipped.
|
|
739
|
+
*
|
|
740
|
+
* Because the pattern may be attacker-supplied and is executed synchronously on every keystroke, the
|
|
741
|
+
* source is length-capped and statically screened for catastrophic-backtracking shapes before it runs.
|
|
742
|
+
* A pattern the screen cannot prove linear is additionally refused for values longer than
|
|
743
|
+
* {@link MAX_UNPROVEN_INPUT_LENGTH}, so the *first* evaluation is bounded and not merely measured,
|
|
744
|
+
* and any pattern that overruns {@link EVALUATION_BUDGET_MS} is quarantined for the session.
|
|
745
|
+
*/
|
|
746
|
+
export class PatternValidatorPlugin implements IValidator {
|
|
747
|
+
/**
|
|
748
|
+
* Extracts the `pattern` regular expression from a schema property descriptor.
|
|
749
|
+
*
|
|
750
|
+
* @param propMeta The schema property descriptor.
|
|
751
|
+
* @returns {IValidatorRuleExtraction} Activation status and regex string.
|
|
752
|
+
*/
|
|
753
|
+
public extractRule(propMeta: IPropertyMetadata): IValidatorRuleExtraction {
|
|
754
|
+
return {
|
|
755
|
+
active: propMeta.pattern !== undefined,
|
|
756
|
+
args: propMeta.pattern
|
|
757
|
+
};
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
/**
|
|
761
|
+
* @param parsedValue The value to test.
|
|
762
|
+
* @param args The regular expression source string.
|
|
763
|
+
* @returns {IValidationResult} Invalid if the string does not match, or if the pattern itself is
|
|
764
|
+
* malformed, over-long, or refused as a denial-of-service risk.
|
|
765
|
+
*/
|
|
766
|
+
public validate(parsedValue: unknown, args?: unknown): IValidationResult {
|
|
767
|
+
if (typeof parsedValue !== "string" || parsedValue === "") return { isValid: true };
|
|
768
|
+
if (typeof args !== "string") {
|
|
769
|
+
return {
|
|
770
|
+
isValid: false,
|
|
771
|
+
errorMessage: I18n.getText(TEXT_KEY.schemaConfigMustBeString, ["pattern"])
|
|
772
|
+
};
|
|
773
|
+
}
|
|
774
|
+
if (args.length > MAX_PATTERN_LENGTH) {
|
|
775
|
+
return {
|
|
776
|
+
isValid: false,
|
|
777
|
+
errorMessage: I18n.getText(TEXT_KEY.schemaConfigPatternTooLong, [MAX_PATTERN_LENGTH])
|
|
778
|
+
};
|
|
779
|
+
}
|
|
780
|
+
if (quarantinedPatterns.has(args)) {
|
|
781
|
+
return { isValid: false, errorMessage: I18n.getText(TEXT_KEY.schemaConfigPatternTimeout) };
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
let regex: RegExp;
|
|
785
|
+
try {
|
|
786
|
+
regex = new RegExp(args);
|
|
787
|
+
} catch (e) {
|
|
788
|
+
// CATCH_EXEMPT: the returned invalid result IS the observable signal -- it paints the
|
|
789
|
+
// field red and surfaces the malformed pattern in the message and the MessagePopover.
|
|
790
|
+
// validate() runs on every keystroke, so a Logger call here would be per-keystroke noise.
|
|
791
|
+
void e;
|
|
792
|
+
return { isValid: false, errorMessage: I18n.getText(TEXT_KEY.schemaConfigInvalidRegex, [args]) };
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
const verdict = resolveVerdict(args);
|
|
796
|
+
if (verdict.reason) {
|
|
797
|
+
return {
|
|
798
|
+
isValid: false,
|
|
799
|
+
errorMessage: I18n.getText(TEXT_KEY.schemaConfigPatternUnsafe, [verdict.reason])
|
|
800
|
+
};
|
|
801
|
+
}
|
|
802
|
+
if (verdict.unproven && parsedValue.length > MAX_UNPROVEN_INPUT_LENGTH) {
|
|
803
|
+
return {
|
|
804
|
+
isValid: false,
|
|
805
|
+
errorMessage: I18n.getText(TEXT_KEY.schemaConfigPatternUnproven, [MAX_UNPROVEN_INPUT_LENGTH])
|
|
806
|
+
};
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
const startedAt = performance.now();
|
|
810
|
+
const matched = regex.test(parsedValue);
|
|
811
|
+
const elapsed = performance.now() - startedAt;
|
|
812
|
+
if (elapsed > EVALUATION_BUDGET_MS) {
|
|
813
|
+
if (quarantinedPatterns.size >= MAX_CACHE_ENTRIES) {
|
|
814
|
+
quarantinedPatterns.clear();
|
|
815
|
+
}
|
|
816
|
+
quarantinedPatterns.add(args);
|
|
817
|
+
Logger.warn(
|
|
818
|
+
`Quarantined 'pattern' after a ${Math.round(elapsed)}ms evaluation: '${args}'.`,
|
|
819
|
+
undefined,
|
|
820
|
+
"PatternValidatorPlugin"
|
|
821
|
+
);
|
|
822
|
+
return { isValid: false, errorMessage: I18n.getText(TEXT_KEY.schemaConfigPatternTimeout) };
|
|
823
|
+
}
|
|
824
|
+
|
|
825
|
+
if (!matched) {
|
|
826
|
+
return { isValid: false, errorMessage: I18n.getText(TEXT_KEY.pattern) };
|
|
827
|
+
}
|
|
828
|
+
return { isValid: true };
|
|
829
|
+
}
|
|
830
|
+
}
|