From 9894b94448a68e20a38f17e77f0c9ceb0c36d485 Mon Sep 17 00:00:00 2001 From: konard Date: Sat, 13 Sep 2025 02:02:57 +0300 Subject: [PATCH 1/3] Initial commit with task details for issue #95 Adding CLAUDE.md with task information for AI processing. This file will be removed when the task is complete. Issue: https://github.com/linksplatform/Data/issues/95 --- CLAUDE.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..af9c681 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,5 @@ +Issue to solve: https://github.com/linksplatform/Data/issues/95 +Your prepared branch: issue-95-4351d84f +Your prepared working directory: /tmp/gh-issue-solver-1757718171830 + +Proceed. \ No newline at end of file From 74f3e16146459d59553f9fcd32e625cfde81ed8f Mon Sep 17 00:00:00 2001 From: konard Date: Sat, 13 Sep 2025 02:11:12 +0300 Subject: [PATCH 2/3] Remove content from Platform::Data::Universal files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit removes all content from Universal interface files in both C# and C++ implementations, addressing issue #95. The files remain in place but are now empty, effectively removing the Universal API definitions while maintaining the file structure. Changes: - Emptied all 6 C# Universal interface files in Platform.Data/Universal/ - Emptied all 6 C++ Universal header files in Platform.Data/Universal/ - Total of 513 lines removed across 12 files - Build verification confirms no compilation errors 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- cpp/Platform.Data/Universal/IUniLinks.h | 25 ----- cpp/Platform.Data/Universal/IUniLinksCRUD.h | 17 ---- cpp/Platform.Data/Universal/IUniLinksGS.h | 15 --- cpp/Platform.Data/Universal/IUniLinksIO.h | 15 --- .../Universal/IUniLinksIOWithExtensions.h | 15 --- cpp/Platform.Data/Universal/IUniLinksRW.h | 15 --- csharp/Platform.Data/Universal/IUniLinks.cs | 87 ---------------- .../Platform.Data/Universal/IUniLinksCRUD.cs | 98 ------------------- csharp/Platform.Data/Universal/IUniLinksGS.cs | 72 -------------- csharp/Platform.Data/Universal/IUniLinksIO.cs | 51 ---------- .../Universal/IUniLinksIOWithExtensions.cs | 31 ------ csharp/Platform.Data/Universal/IUniLinksRW.cs | 72 -------------- 12 files changed, 513 deletions(-) diff --git a/cpp/Platform.Data/Universal/IUniLinks.h b/cpp/Platform.Data/Universal/IUniLinks.h index 16cc1c9..e69de29 100644 --- a/cpp/Platform.Data/Universal/IUniLinks.h +++ b/cpp/Platform.Data/Universal/IUniLinks.h @@ -1,25 +0,0 @@ - - -// ReSharper disable TypeParameterCanBeVariant - -namespace Platform::Data::Universal -{ - public partial interface IUniLinks - { - IList>> Trigger(IList &condition, IList &substitution); - } - - public partial interface IUniLinks - { - TLinkAddress Trigger(IList &patternOrCondition, Func, TLinkAddress> matchHandler, - IList &substitution, Func, IList, TLinkAddress> substitutionHandler); - - TLinkAddress Trigger(IList &restriction, Func, IList, TLinkAddress> matchedHandler, - IList &substitution, Func, IList, TLinkAddress> substitutedHandler); - } - - public partial interface IUniLinks - { - virtual TLinkAddress Count(IList &restriction) = 0; - } -} diff --git a/cpp/Platform.Data/Universal/IUniLinksCRUD.h b/cpp/Platform.Data/Universal/IUniLinksCRUD.h index 0faaa9a..e69de29 100644 --- a/cpp/Platform.Data/Universal/IUniLinksCRUD.h +++ b/cpp/Platform.Data/Universal/IUniLinksCRUD.h @@ -1,17 +0,0 @@ - - -// ReSharper disable TypeParameterCanBeVariant - -namespace Platform::Data::Universal -{ - template class IUniLinksCRUD; - template class IUniLinksCRUD - { - public: - virtual TLinkAddress Read(std::int32_t partType, TLinkAddress link) = 0; - virtual TLinkAddress Read(Func handler, IList &pattern) = 0; - virtual TLinkAddress Create(IList &parts) = 0; - virtual TLinkAddress Update(IList &before, IList &after) = 0; - virtual void Delete(IList &parts) = 0; - }; -} \ No newline at end of file diff --git a/cpp/Platform.Data/Universal/IUniLinksGS.h b/cpp/Platform.Data/Universal/IUniLinksGS.h index 1f32584..e69de29 100644 --- a/cpp/Platform.Data/Universal/IUniLinksGS.h +++ b/cpp/Platform.Data/Universal/IUniLinksGS.h @@ -1,15 +0,0 @@ - - -// ReSharper disable TypeParameterCanBeVariant - -namespace Platform::Data::Universal -{ - template class IUniLinksGS; - template class IUniLinksGS - { - public: - virtual TLinkAddress Get(std::int32_t partType, TLinkAddress link) = 0; - virtual TLinkAddress Get(Func handler, IList &pattern) = 0; - virtual TLinkAddress Set(IList &before, IList &after) = 0; - }; -} \ No newline at end of file diff --git a/cpp/Platform.Data/Universal/IUniLinksIO.h b/cpp/Platform.Data/Universal/IUniLinksIO.h index 59ad94b..e69de29 100644 --- a/cpp/Platform.Data/Universal/IUniLinksIO.h +++ b/cpp/Platform.Data/Universal/IUniLinksIO.h @@ -1,15 +0,0 @@ - - -// ReSharper disable TypeParameterCanBeVariant - -namespace Platform::Data::Universal -{ - template class IUniLinksIO; - template class IUniLinksIO - { - public: - virtual bool Out(Func, bool> handler, IList &pattern) = 0; - - virtual TLinkAddress In(IList &before, IList &after) = 0; - }; -} \ No newline at end of file diff --git a/cpp/Platform.Data/Universal/IUniLinksIOWithExtensions.h b/cpp/Platform.Data/Universal/IUniLinksIOWithExtensions.h index 416a175..e69de29 100644 --- a/cpp/Platform.Data/Universal/IUniLinksIOWithExtensions.h +++ b/cpp/Platform.Data/Universal/IUniLinksIOWithExtensions.h @@ -1,15 +0,0 @@ -// ReSharper disable TypeParameterCanBeVariant - -namespace Platform::Data::Universal -{ - template class IUniLinksIOWithExtensions; - template class IUniLinksIOWithExtensions : public IUniLinksIO - { - public: - virtual TLinkAddress OutOne(std::int32_t partType, IList &pattern) = 0; - - IList> OutAll(IList &pattern); - - virtual std::uint64_t OutCount(IList &pattern) = 0; - }; -} \ No newline at end of file diff --git a/cpp/Platform.Data/Universal/IUniLinksRW.h b/cpp/Platform.Data/Universal/IUniLinksRW.h index e39ee41..e69de29 100644 --- a/cpp/Platform.Data/Universal/IUniLinksRW.h +++ b/cpp/Platform.Data/Universal/IUniLinksRW.h @@ -1,15 +0,0 @@ - - -// ReSharper disable TypeParameterCanBeVariant - -namespace Platform::Data::Universal -{ - template class IUniLinksRW; - template class IUniLinksRW - { - public: - virtual TLinkAddress Read(std::int32_t partType, TLinkAddress link) = 0; - virtual bool Read(Func handler, IList &pattern) = 0; - virtual TLinkAddress Write(IList &before, IList &after) = 0; - }; -} \ No newline at end of file diff --git a/csharp/Platform.Data/Universal/IUniLinks.cs b/csharp/Platform.Data/Universal/IUniLinks.cs index 8faf268..e69de29 100644 --- a/csharp/Platform.Data/Universal/IUniLinks.cs +++ b/csharp/Platform.Data/Universal/IUniLinks.cs @@ -1,87 +0,0 @@ -using System; -using System.Collections.Generic; -using Platform.Delegates; - -// ReSharper disable TypeParameterCanBeVariant -#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member - -namespace Platform.Data.Universal -{ - /// Minimal sufficient universal Links API (for bulk operations). - public partial interface IUniLinks - { - /// - /// - /// Triggers the condition. - /// - /// - /// - /// - /// The condition. - /// - /// - /// - /// The substitution. - /// - /// - /// - /// A list of i list i list t link address - /// - /// - IList?>> Trigger(IList? condition, IList? substitution); - } - - /// Minimal sufficient universal Links API (for step by step operations). - public partial interface IUniLinks - { - /// - /// TLinkAddress that represents True (was finished fully) or TLinkAddress that represents False (was stopped). - /// This is done to assure ability to push up stop signal through recursion stack. - /// - /// - /// { 0, 0, 0 } => { itself, itself, itself } // create - /// { 1, any, any } => { itself, any, 3 } // update - /// { 3, any, any } => { 0, 0, 0 } // delete - /// - TLinkAddress Trigger(IList? patternOrCondition, ReadHandler? matchHandler, - IList? substitution, WriteHandler? substitutionHandler); - - /// - /// - /// Triggers the restriction. - /// - /// - /// - /// - /// The restriction. - /// - /// - /// - /// The matched handler. - /// - /// - /// - /// The substitution. - /// - /// - /// - /// The substituted handler. - /// - /// - /// - /// The link address - /// - /// - TLinkAddress Trigger(IList? restriction, WriteHandler? matchedHandler, - IList? substitution, WriteHandler? substitutedHandler); - } - - /// Extended with small optimization. - public partial interface IUniLinks - { - /// - /// Something simple should be simple and optimized. - /// - TLinkAddress Count(IList? restrictions); - } -} diff --git a/csharp/Platform.Data/Universal/IUniLinksCRUD.cs b/csharp/Platform.Data/Universal/IUniLinksCRUD.cs index a569b73..e69de29 100644 --- a/csharp/Platform.Data/Universal/IUniLinksCRUD.cs +++ b/csharp/Platform.Data/Universal/IUniLinksCRUD.cs @@ -1,98 +0,0 @@ -using System; -using System.Collections.Generic; - -// ReSharper disable TypeParameterCanBeVariant -#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member - -namespace Platform.Data.Universal -{ - /// - /// CRUD aliases for IUniLinks. - /// - public interface IUniLinksCRUD - { - /// - /// - /// Reads the part type. - /// - /// - /// - /// - /// The part type. - /// - /// - /// - /// The link. - /// - /// - /// - /// The link address - /// - /// - TLinkAddress Read(int partType, TLinkAddress link); - /// - /// - /// Reads the handler. - /// - /// - /// - /// - /// The handler. - /// - /// - /// - /// The pattern. - /// - /// - /// - /// The link address - /// - /// - TLinkAddress Read(Func handler, IList? pattern); - /// - /// - /// Creates the parts. - /// - /// - /// - /// - /// The parts. - /// - /// - /// - /// The link address - /// - /// - TLinkAddress Create(IList? parts); - /// - /// - /// Updates the before. - /// - /// - /// - /// - /// The before. - /// - /// - /// - /// The after. - /// - /// - /// - /// The link address - /// - /// - TLinkAddress Update(IList? before, IList? after); - /// - /// - /// Deletes the parts. - /// - /// - /// - /// - /// The parts. - /// - /// - TLinkAddress Delete(IList? parts); - } -} diff --git a/csharp/Platform.Data/Universal/IUniLinksGS.cs b/csharp/Platform.Data/Universal/IUniLinksGS.cs index d62697d..e69de29 100644 --- a/csharp/Platform.Data/Universal/IUniLinksGS.cs +++ b/csharp/Platform.Data/Universal/IUniLinksGS.cs @@ -1,72 +0,0 @@ -using System; -using System.Collections.Generic; - -// ReSharper disable TypeParameterCanBeVariant -#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member - -namespace Platform.Data.Universal -{ - /// - /// Get/Set aliases for IUniLinks. - /// - public interface IUniLinksGS - { - /// - /// - /// Gets the part type. - /// - /// - /// - /// - /// The part type. - /// - /// - /// - /// The link. - /// - /// - /// - /// The link address - /// - /// - TLinkAddress Get(int partType, TLinkAddress link); - /// - /// - /// Gets the handler. - /// - /// - /// - /// - /// The handler. - /// - /// - /// - /// The pattern. - /// - /// - /// - /// The link address - /// - /// - TLinkAddress Get(Func handler, IList? pattern); - /// - /// - /// Sets the before. - /// - /// - /// - /// - /// The before. - /// - /// - /// - /// The after. - /// - /// - /// - /// The link address - /// - /// - TLinkAddress Set(IList? before, IList? after); - } -} \ No newline at end of file diff --git a/csharp/Platform.Data/Universal/IUniLinksIO.cs b/csharp/Platform.Data/Universal/IUniLinksIO.cs index 78f8ebe..e69de29 100644 --- a/csharp/Platform.Data/Universal/IUniLinksIO.cs +++ b/csharp/Platform.Data/Universal/IUniLinksIO.cs @@ -1,51 +0,0 @@ -using System; -using System.Collections.Generic; - -// ReSharper disable TypeParameterCanBeVariant -#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member - -namespace Platform.Data.Universal -{ - /// - /// In/Out aliases for IUniLinks. - /// TLinkAddress can be any number type of any size. - /// - public interface IUniLinksIO - { - /// - /// default(TLinkAddress) means any link. - /// Single element pattern means just element (link). - /// Handler gets array of link contents. - /// * link[0] is index or identifier. - /// * link[1] is source or first. - /// * link[2] is target or second. - /// * link[3] is linker or third. - /// * link[n] is nth part/parent/element/value - /// of link (if variable length links used). - /// - /// Stops and returns false if handler return false. - /// - /// Acts as Each, Foreach, Select, Search, Match & ... - /// - /// Handles all links in store if pattern/restrictions is not defined. - /// - bool Out(Func?, bool> handler, IList? pattern); - - /// - /// default(TLinkAddress) means itself. - /// Equivalent to: - /// * creation if before == null - /// * deletion if after == null - /// * update if before != null && after != null - /// * default(TLinkAddress) if before == null && after == null - /// - /// Possible interpretation - /// * In(null, new[] { }) creates point (link that points to itself using minimum number of parts). - /// * In(new[] { 4 }, null) deletes 4th link. - /// * In(new[] { 4 }, new [] { 5 }) delete 5th link if it exists and moves 4th link to 5th index. - /// * In(new[] { 4 }, new [] { 0, 2, 3 }) replaces 4th link with new doublet link (with 2 as source and 3 as target), 0 means it can be placed in any address. - /// ... - /// - TLinkAddress In(IList? before, IList? after); - } -} \ No newline at end of file diff --git a/csharp/Platform.Data/Universal/IUniLinksIOWithExtensions.cs b/csharp/Platform.Data/Universal/IUniLinksIOWithExtensions.cs index 2da7897..e69de29 100644 --- a/csharp/Platform.Data/Universal/IUniLinksIOWithExtensions.cs +++ b/csharp/Platform.Data/Universal/IUniLinksIOWithExtensions.cs @@ -1,31 +0,0 @@ -// ReSharper disable TypeParameterCanBeVariant -#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member - -using System.Collections.Generic; - -namespace Platform.Data.Universal -{ - /// Contains some optimizations of Out. - public interface IUniLinksIOWithExtensions : IUniLinksIO - { - /// - /// default(TLinkAddress) means nothing or null. - /// Single element pattern means just element (link). - /// OutPart(n, null) returns default(TLinkAddress). - /// OutPart(0, pattern) ~ Exists(link) or Search(pattern) - /// OutPart(1, pattern) ~ GetSource(link) or GetSource(Search(pattern)) - /// OutPart(2, pattern) ~ GetTarget(link) or GetTarget(Search(pattern)) - /// OutPart(3, pattern) ~ GeTLinkAddresser(link) or GeTLinkAddresser(Search(pattern)) - /// OutPart(n, pattern) => For any variable length links, returns link or default(TLinkAddress). - /// - /// Outs(returns) inner contents of link, its part/parent/element/value. - /// - TLinkAddress OutOne(int partType, IList? pattern); - - /// OutCount() returns total links in store as array. - IList?> OutAll(IList? pattern); - - /// OutCount() returns total amount of links in store. - ulong OutCount(IList? pattern); - } -} \ No newline at end of file diff --git a/csharp/Platform.Data/Universal/IUniLinksRW.cs b/csharp/Platform.Data/Universal/IUniLinksRW.cs index b4b2ad5..e69de29 100644 --- a/csharp/Platform.Data/Universal/IUniLinksRW.cs +++ b/csharp/Platform.Data/Universal/IUniLinksRW.cs @@ -1,72 +0,0 @@ -using System; -using System.Collections.Generic; - -// ReSharper disable TypeParameterCanBeVariant -#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member - -namespace Platform.Data.Universal -{ - /// - /// Read/Write aliases for IUniLinks. - /// - public interface IUniLinksRW - { - /// - /// - /// Reads the part type. - /// - /// - /// - /// - /// The part type. - /// - /// - /// - /// The link. - /// - /// - /// - /// The link address - /// - /// - TLinkAddress Read(int partType, TLinkAddress link); - /// - /// - /// Determines whether this instance read. - /// - /// - /// - /// - /// The handler. - /// - /// - /// - /// The pattern. - /// - /// - /// - /// The bool - /// - /// - bool Read(Func handler, IList? pattern); - /// - /// - /// Writes the before. - /// - /// - /// - /// - /// The before. - /// - /// - /// - /// The after. - /// - /// - /// - /// The link address - /// - /// - TLinkAddress Write(IList? before, IList? after); - } -} \ No newline at end of file From 2a3539dd7891d8cab8cfe72f17aa941a94701d66 Mon Sep 17 00:00:00 2001 From: konard Date: Sat, 13 Sep 2025 02:12:19 +0300 Subject: [PATCH 3/3] Remove CLAUDE.md - Claude command completed --- CLAUDE.md | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 100644 index af9c681..0000000 --- a/CLAUDE.md +++ /dev/null @@ -1,5 +0,0 @@ -Issue to solve: https://github.com/linksplatform/Data/issues/95 -Your prepared branch: issue-95-4351d84f -Your prepared working directory: /tmp/gh-issue-solver-1757718171830 - -Proceed. \ No newline at end of file