Added data objects, starting on parser

This commit is contained in:
2026-01-20 11:39:29 -06:00
parent 0a91734a27
commit e0c24250fb
37 changed files with 266 additions and 74 deletions

26
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,26 @@
{
"version": "0.2.0",
"configurations": [
{
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/SzCli/bin/Debug/net8.0/SzCli.dll",
"args": [],
"cwd": "${workspaceFolder}/SzCli",
// For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach"
}
]
}

41
.vscode/tasks.json vendored Normal file
View File

@@ -0,0 +1,41 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}/SzCli/SzCli.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary;ForceNoAlign"
],
"problemMatcher": "$msCompile"
},
{
"label": "publish",
"command": "dotnet",
"type": "process",
"args": [
"publish",
"${workspaceFolder}/SzCli/SzCli.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary;ForceNoAlign"
],
"problemMatcher": "$msCompile"
},
{
"label": "watch",
"command": "dotnet",
"type": "process",
"args": [
"watch",
"run",
"--project",
"${workspaceFolder}/SzCli/SzCli.csproj"
],
"problemMatcher": "$msCompile"
}
]
}

Binary file not shown.

View File

@@ -1,23 +0,0 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"SzCli/1.0.0": {
"runtime": {
"SzCli.dll": {}
}
}
}
},
"libraries": {
"SzCli/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -1,12 +0,0 @@
{
"runtimeOptions": {
"tfm": "net8.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "8.0.0"
},
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

View File

@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SzCli")] [assembly: System.Reflection.AssemblyCompanyAttribute("SzCli")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0a91734a27836b548e422e7f53f42a86a6e65aa0")]
[assembly: System.Reflection.AssemblyProductAttribute("SzCli")] [assembly: System.Reflection.AssemblyProductAttribute("SzCli")]
[assembly: System.Reflection.AssemblyTitleAttribute("SzCli")] [assembly: System.Reflection.AssemblyTitleAttribute("SzCli")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@@ -1 +1 @@
afe5c40efd4716643682615343a5156aa629cadf7e8a019aed8de227767d5d14 c84592cdeb0dc4a761e7751dfbf7a0fd24d31f7e0652aede57d423374036e623

View File

@@ -1,5 +1,7 @@
is_global = true is_global = true
build_property.TargetFramework = net8.0 build_property.TargetFramework = net8.0
build_property.TargetFrameworkIdentifier = .NETCoreApp
build_property.TargetFrameworkVersion = v8.0
build_property.TargetPlatformMinVersion = build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb = build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids = build_property.ProjectTypeGuids =
@@ -11,3 +13,5 @@ build_property.RootNamespace = SzCli
build_property.ProjectDir = /data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/ build_property.ProjectDir = /data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/
build_property.EnableComHosting = build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop = build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@@ -1,8 +1,8 @@
// <auto-generated/> // <auto-generated/>
global using global::System; global using System;
global using global::System.Collections.Generic; global using System.Collections.Generic;
global using global::System.IO; global using System.IO;
global using global::System.Linq; global using System.Linq;
global using global::System.Net.Http; global using System.Net.Http;
global using global::System.Threading; global using System.Threading;
global using global::System.Threading.Tasks; global using System.Threading.Tasks;

View File

@@ -1 +0,0 @@
dab4a57a9d611670fdf1cc3846137771063d76dab36e53cb6b65f70229653bb2

View File

@@ -1,14 +0,0 @@
/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/bin/Debug/net8.0/SzCli
/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/bin/Debug/net8.0/SzCli.deps.json
/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/bin/Debug/net8.0/SzCli.runtimeconfig.json
/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/bin/Debug/net8.0/SzCli.dll
/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/bin/Debug/net8.0/SzCli.pdb
/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/obj/Debug/net8.0/SzCli.GeneratedMSBuildEditorConfig.editorconfig
/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/obj/Debug/net8.0/SzCli.AssemblyInfoInputs.cache
/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/obj/Debug/net8.0/SzCli.AssemblyInfo.cs
/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/obj/Debug/net8.0/SzCli.csproj.CoreCompileInputs.cache
/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/obj/Debug/net8.0/SzCli.dll
/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/obj/Debug/net8.0/refint/SzCli.dll
/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/obj/Debug/net8.0/SzCli.pdb
/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/obj/Debug/net8.0/SzCli.genruntimeconfig.cache
/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/obj/Debug/net8.0/ref/SzCli.dll

Binary file not shown.

View File

@@ -1 +0,0 @@
b8727a6ae593e7f5a29f341947d40380ff342eabe79f877cbe12242927c6d5e5

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -23,6 +23,75 @@
"/usr/share/dotnet/library-packs": {}, "/usr/share/dotnet/library-packs": {},
"https://api.nuget.org/v3/index.json": {} "https://api.nuget.org/v3/index.json": {}
}, },
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {
"/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzLib/SzLib.csproj": {
"projectPath": "/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzLib/SzLib.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "Microsoft.AspNetCore.App.Ref",
"version": "[8.0.22, 8.0.22]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.416/PortableRuntimeIdentifierGraph.json"
}
}
},
"/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzLib/SzLib.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzLib/SzLib.csproj",
"projectName": "SzLib",
"projectPath": "/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzLib/SzLib.csproj",
"packagesPath": "/home/chris/.nuget/packages/",
"outputPath": "/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzLib/obj/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/home/chris/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"/usr/share/dotnet/library-packs": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": { "frameworks": {
"net8.0": { "net8.0": {
"targetAlias": "net8.0", "targetAlias": "net8.0",

View File

@@ -1,11 +1,30 @@
{ {
"version": 3, "version": 3,
"targets": { "targets": {
"net8.0": {} "net8.0": {
"SzLib/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v8.0",
"compile": {
"bin/placeholder/SzLib.dll": {}
},
"runtime": {
"bin/placeholder/SzLib.dll": {}
}
}
}
},
"libraries": {
"SzLib/1.0.0": {
"type": "project",
"path": "../SzLib/SzLib.csproj",
"msbuildProject": "../SzLib/SzLib.csproj"
}
}, },
"libraries": {},
"projectFileDependencyGroups": { "projectFileDependencyGroups": {
"net8.0": [] "net8.0": [
"SzLib >= 1.0.0"
]
}, },
"packageFolders": { "packageFolders": {
"/home/chris/.nuget/packages/": {} "/home/chris/.nuget/packages/": {}
@@ -32,7 +51,11 @@
"frameworks": { "frameworks": {
"net8.0": { "net8.0": {
"targetAlias": "net8.0", "targetAlias": "net8.0",
"projectReferences": {} "projectReferences": {
"/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzLib/SzLib.csproj": {
"projectPath": "/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzLib/SzLib.csproj"
}
}
} }
}, },
"warningProperties": { "warningProperties": {

View File

@@ -1,6 +1,6 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "TzQuaOcUYSs=", "dgSpecHash": "ca9xSR6LgAg=",
"success": true, "success": true,
"projectFilePath": "/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/SzCli.csproj", "projectFilePath": "/data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzCli/SzCli.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [

View File

@@ -0,0 +1,8 @@
namespace SzLib.DataObjects;
public class SzDataObject
{
public required string Name;
public required string Id;
public Dictionary<string, SzField> Fields = [];
}

View File

@@ -0,0 +1,10 @@
namespace SzLib.DataObjects;
public class SzDataObjectTemplate
{
public required string Name;
public required string Id;
public Guid? Uuid;
public required string DataObjectType;
public Dictionary<string, SzTemplateField> TemplateFields = [];
}

View File

@@ -0,0 +1,12 @@
namespace SzLib.DataObjects;
public class SzDataset
{
public required string Name;
public required string Id;
public Guid? Uuid;
public required string DataObjectType;
public required string DataObjectTemplateId;
public Dictionary<string, SzDataObject> DataObjects = [];
}

View File

@@ -0,0 +1,9 @@
namespace SzLib.DataObjects;
public class SzField
{
public required string Id;
public required SzFieldType FieldType;
public bool IsList = false;
public string Value = "";
}

View File

@@ -0,0 +1,6 @@
namespace SzLib.DataObjects;
public enum SzFieldType
{
Text, Number, Bool, Formula, Ref
}

View File

@@ -0,0 +1,11 @@
namespace SzLib.DataObjects;
public class SzTemplateField
{
public required string Name;
public required string Id;
public bool IsList = false;
public string DefaultValue = "";
public bool IsSpecialType = false;
public string SpecialTypeValue = "";
}

6
SzLib/ISzFileManager.cs Normal file
View File

@@ -0,0 +1,6 @@
namespace SzLib;
public interface ISzFileManager
{
public Path DataPath {get; set;}
}

6
SzLib/SzParser.cs Normal file
View File

@@ -0,0 +1,6 @@
namespace SzLib;
public class SzParser(ISzFileManager szFileManager)
{
public readonly ISzFileManager FileManager = szFileManager;
}

View File

@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SzLib")] [assembly: System.Reflection.AssemblyCompanyAttribute("SzLib")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0a91734a27836b548e422e7f53f42a86a6e65aa0")]
[assembly: System.Reflection.AssemblyProductAttribute("SzLib")] [assembly: System.Reflection.AssemblyProductAttribute("SzLib")]
[assembly: System.Reflection.AssemblyTitleAttribute("SzLib")] [assembly: System.Reflection.AssemblyTitleAttribute("SzLib")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@@ -1 +1 @@
80c4d268bae2ab39e969427907169a51964e621c c4fac1ee3ada9b23fef8f772fe12079089fe1f0f9fd88ed354bd91dd8a45b58a

View File

@@ -1,10 +1,17 @@
is_global = true is_global = true
build_property.TargetFramework = net8.0 build_property.TargetFramework = net8.0
build_property.TargetFrameworkIdentifier = .NETCoreApp
build_property.TargetFrameworkVersion = v8.0
build_property.TargetPlatformMinVersion = build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb = build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids = build_property.ProjectTypeGuids =
build_property.InvariantGlobalization = build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly = build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = SzLib build_property.RootNamespace = SzLib
build_property.ProjectDir = /data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzLib/ build_property.ProjectDir = /data/Projects/bellsworne/sessionzero/SessionZeroCS/SessionZero/SzLib/
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@@ -1,8 +1,8 @@
// <auto-generated/> // <auto-generated/>
global using global::System; global using System;
global using global::System.Collections.Generic; global using System.Collections.Generic;
global using global::System.IO; global using System.IO;
global using global::System.Linq; global using System.Linq;
global using global::System.Net.Http; global using System.Net.Http;
global using global::System.Threading; global using System.Threading;
global using global::System.Threading.Tasks; global using System.Threading.Tasks;

5
omnisharp.json Normal file
View File

@@ -0,0 +1,5 @@
{
"msbuild": {
"useBundledOnly": true
}
}