task.wait(1)local K=require(script.Parent.TableKit)local P={A=false;B=true,C={D=""}}local U={A=true;B=false,C={}}local O={A="\090";B="\088";C="\089"}local c={D=4,E=5,F=6}local N={"\065","\066","\067\067"}local W={"\068";"\069","\070\070"}local y={}print("---------------------------------------")print("\077\101\114\103\101\115\058")local t=K.MergeDictionary(O,c)local H=K.MergeArrays(N,W)print(t)print(H)print("---------------------------------------")print("\086\097\108\117\101\115 \038 \075\101\121\115\058")local j=K.Values(O)local k=K.Keys(O)print(j)print(k)print("---------------------------------------")print("\116\111\115\116\114\105\110\103\058")local C=K.ToString(O)print(C)print("---------------------------------------")print("\100\105\099\116\105\111\110\097\114\121\073\115\065\114\114\097\121\044 \097\114\114\097\121\073\115\065\114\114\097\121\058")local g=K.IsArray(O)local S=K.IsArray(N)print(g)print(S)print("---------------------------------------")print("\114\101\099\111\110\099\105\108\101\058")local s=K.Reconcile(U,P)print(s)print("---------------------------------------")print("\072\097\115\075\101\121\058")local V=K.HasKey(O,"\065")local X=K.HasKey(O,"\066")local m=K.HasKey(O,"\072")print(V,X,m)print("---------------------------------------")print("\072\097\115\086\097\108\117\101\058")local w=K.HasValue(O,"\090")local I=K.HasValue(O,"\088")local M=K.HasValue(O,"\072")print(w,I,M)print("---------------------------------------")print("\073\115\069\109\112\116\121\058")local l=K.IsEmpty(y)local x=K.IsEmpty({"\115\100\102\115\100\102"})print(l,x)print("---------------------------------------")print("\073\115\070\108\097\116\058")local G=K.IsFlat({{}})local F=K.IsFlat({1;2})print(F,G)print("---------------------------------------")print("\069\118\101\114\121\058")local n={1,2;3;4;5}local r=function(K)return K%2==0 end local E=function(K)return K%2~=0 end local Z=function()return true end print(K.Every(n,r))print(K.Every(n,E))print(K.Every(n,Z))print("---------------------------------------")print("\083\111\109\101\058")local T={1,2,3;4,5}print(K.Some(T,r))print("---------------------------------------")print("\070\114\111\109\058")local B="\065\098\099\100\101\102\103"print(K.From(B))
task.wait(1)
local TableKit = require(script.Parent.TableKit)

local template = {
	A = false,
	B = true,
	C = {
		D = "",
	},
}

local toReconcile = {
	A = true,
	B = false,
	C = {},
}

local DictionaryA = {
	A = "Z",
	B = "X",
	C = "Y",
}
local DictionaryB = {
	D = 4,
	E = 5,
	F = 6,
}

local ArrayA = { "A", "B", "CC" }
local ArrayB = { "D", "E", "FF" }

local Empty = {}

--

print("---------------------------------------")
print("Merges:")
local dictionaryMerged = TableKit.MergeDictionary(DictionaryA, DictionaryB)
local arrayMerged = TableKit.MergeArrays(ArrayA, ArrayB)
print(dictionaryMerged)
print(arrayMerged)
print("---------------------------------------")
print("Values & Keys:")
local values = TableKit.Values(DictionaryA)
local keys = TableKit.Keys(DictionaryA)
print(values)
print(keys)
print("---------------------------------------")
print("tostring:")
local stringified = TableKit.ToString(DictionaryA)
print(stringified)
print("---------------------------------------")
print("dictionaryIsArray, arrayIsArray:")
local dictionaryIsArray = TableKit.IsArray(DictionaryA)
local arrayIsArray = TableKit.IsArray(ArrayA)
print(dictionaryIsArray)
print(arrayIsArray)
print("---------------------------------------")
print("reconcile:")
local reconciled = TableKit.Reconcile(toReconcile, template)
print(reconciled)
print("---------------------------------------")
print("HasKey:")
local hasKey = TableKit.HasKey(DictionaryA, "A") -- true
local hasKeyB = TableKit.HasKey(DictionaryA, "B") -- true
local hasKeyC = TableKit.HasKey(DictionaryA, "H") -- false
print(hasKey, hasKeyB, hasKeyC)
print("---------------------------------------")
print("HasValue:")
local hasValue = TableKit.HasValue(DictionaryA, "Z") -- true
local hasValueB = TableKit.HasValue(DictionaryA, "X") -- true
local hasValueC = TableKit.HasValue(DictionaryA, "H") -- false
print(hasValue, hasValueB, hasValueC)
print("---------------------------------------")
print("IsEmpty:")
local isEmpty = TableKit.IsEmpty(Empty)
local notEmpty = TableKit.IsEmpty({ "sdfsdf" })
print(isEmpty, notEmpty)
print("---------------------------------------")
print("IsFlat:")
local notFlat = TableKit.IsFlat({ {} })
local flat = TableKit.IsFlat({ 1, 2 })
print(flat, notFlat) -- true, false
print("---------------------------------------")
print("Every:")
local array = { 1, 2, 3, 4, 5 }
local even = function(value)
	return value % 2 == 0
end
local odd = function(value)
	return value % 2 ~= 0
end
local returnsTrue = function()
	return true
end

print(TableKit.Every(array, even)) -- Prints false
print(TableKit.Every(array, odd)) -- Prints false
print(TableKit.Every(array, returnsTrue)) -- Prints true
print("---------------------------------------")
print("Some:")
local array2 = { 1, 2, 3, 4, 5 }

print(TableKit.Some(array2, even)) -- Prints true
print("---------------------------------------")
print("From:")
local str = "Abcdefg"

print(TableKit.From(str))
