From abeccabdf16367f9e90f6e2108d4bc71186084df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Van=20Canneyt?= Date: Tue, 31 Dec 2024 13:46:32 +0100 Subject: [PATCH] * Add IsYAMLfileName --- packages/fcl-yaml/src/fpyaml.parser.pp | 10 ++++++++++ packages/fcl-yaml/src/fpyaml.strings.pp | 4 ++++ packages/fcl-yaml/src/fpyaml.types.pp | 13 +++++++++++++ 3 files changed, 27 insertions(+) diff --git a/packages/fcl-yaml/src/fpyaml.parser.pp b/packages/fcl-yaml/src/fpyaml.parser.pp index 0688e66672..7e10d27fd4 100644 --- a/packages/fcl-yaml/src/fpyaml.parser.pp +++ b/packages/fcl-yaml/src/fpyaml.parser.pp @@ -78,6 +78,7 @@ Type Constructor Create(const aInput : array of string); Constructor Create(const aFileName : string); Destructor Destroy; override; + Class function IsYamlFileName(const aFileName : string) : Boolean; inline; function ParseSingleDocument: TYAMLDocument; Function Parse : TYAMLStream; end; @@ -620,11 +621,20 @@ begin inherited Destroy; end; + +class function TYAMLParser.IsYamlFileName(const aFileName: string): Boolean; + +begin + Result:=fpyaml.types.IsYamlFileName(aFileName); +end; + + function TYAMLParser.ParseSingleDocument: TYAMLDocument; begin Result:=ParseSingleDocument(Nil); end; + function TYAMLParser.ParseSingleDocument(aStream : TYAMLStream): TYAMLDocument; var diff --git a/packages/fcl-yaml/src/fpyaml.strings.pp b/packages/fcl-yaml/src/fpyaml.strings.pp index 3f7fb4c634..72583dbeb4 100644 --- a/packages/fcl-yaml/src/fpyaml.strings.pp +++ b/packages/fcl-yaml/src/fpyaml.strings.pp @@ -18,6 +18,10 @@ unit fpyaml.strings; interface +const + YAMLExt1 = '.yaml'; + YAMLExt2 = '.yml'; + resourcestring // Data SErrIsNotA = '%s is not a valid %s'; diff --git a/packages/fcl-yaml/src/fpyaml.types.pp b/packages/fcl-yaml/src/fpyaml.types.pp index 3a8544401c..cb35246bcc 100644 --- a/packages/fcl-yaml/src/fpyaml.types.pp +++ b/packages/fcl-yaml/src/fpyaml.types.pp @@ -87,6 +87,8 @@ Const 'tag:yaml.org,2002:seq', 'tag:yaml.org,2002:map'); +Function IsYAMLFileName(const aFileName : string) : Boolean; + implementation @@ -143,5 +145,16 @@ begin Result:=YAMLTagNames[Self]; end; +Function IsYAMLFileName(const aFileName : string) : Boolean; + +var + Ext : string; + +begin + Ext:=ExtractFileExt(aFileName); + Result:=SameText(YamlExt1,Ext) or SameText(YamlExt2,Ext); +end; + + end.