You don't need a scripting addition. Just a simple script like this:
on CamelCase(oldText)
set camelList to {} & LowerCase(first word in oldText)
repeat with thisWord in the rest of the words in oldText
set end in camelList to UpperCase(first character in thisWord)
set remainingText to (rest of characters in thisWord as text)
if remainingText is not "" then
set end in camelList to LowerCase(remainingText)
end if
end repeat
set camelText to camelList as text
return camelText
end CamelCase
You can use the LowerCase and UpperCase from your scripting addition, or write those as a script too. Here's what I use (well, used to use) below.
property lowerChars : "abcdefghijklmnopqrstuvwxyz"
property upperChars : "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
on run
return CamelCase("this is a test")
end run
on ListToText of theList between delimiter
set oldDelims to AppleScript's text item delimiters
set AppleScript's text item delimiters to delimiter
set joinedText to theList as text
set AppleScript's text item delimiters to oldDelims
return joinedText
end ListToText
on ReplaceEach of oldText by newChars instead of oldChars
set newList to {}
repeat with characterN from 1 to length of oldText
set oldCharacter to (character characterN in oldText) as text
set alphaN to (offset of oldCharacter in oldChars)
if alphaN > 0 then
set end of newList to character alphaN of newChars
else
set end of newList to oldCharacter
end if
end repeat
return ListToText of newList between ""
end ReplaceEach
on UpperCase(oldText)
return (ReplaceEach of oldText by upperChars instead of lowerChars)
end UpperCase
on LowerCase(oldText)
return (ReplaceEach of oldText by lowerChars instead of upperChars)
end LowerCase