0.1.0 • Published 6 years ago
preql-stdlib v0.1.0
PreQL Standard Library
- Author: Jonathan M. Wilbur [jonathan@wilbur.space](mailto:jonathan@wilbur.space)
- Copyright Year: 2019
- License: MIT License
This is currently in development.
To Do
- Types
id?booleansint8sint16sint32sint64uint8uint16uint32uint64sreal8sreal16sreal32sreal64ureal8ureal16ureal32ureal64varchar8varchar16varchar32varchar64text8text16text32text64blob8blob16blob32blob64personNamephoneemailfqdndnsLabelhostnameuuidoidbsonIdhandle(Twitter, Gab, Discord)sextimeZoneean2ean5ean8ean13upcaupcbupccupcdupceupc2upc5gtin8gtin12gtin13gtin14ssneui48eui60eui64cdi32cdi40oui24oui36ipv4ipv6ipmoneyiso3166-1-alpha-2iso3166-1-alpha-3iso3166-1-numericiso3166-2iso639-1iso639-2iso639-3iso639-5datetimedatetimetimestamp?yearmonthdayhourminutesecondmillisecond- Spatial types?
localemimeTypeuriurnurl(Same thing as theurlSchemairlSchema.)urlUsernameurlPasswordurlPathurlQueryurlFragmentiriirnirlirlSchemairlUsernameirlPasswordirlPath(Check for leading "/"?)irlQuery(Check for leading "?"?)irlFragment(Check for leading "#"?)uncplusCodeunixFileNameunixPathwindowsFileNamewindowsPathsiddnrdndnsRecordTypecompass4(N, E, S, W)compass8(N, NE, E, etc.)compass16(N, NNE, ENE, etc.)latitudelongitudefahrenheit(Minimum -459.67)celcius(Minimum -273.15)kelvins(This is simply an unsigned floating-point type.)- Chemistry
elementiupacNamechemicalFormulacasNumberbilsteinReferencechebichemblchemspiderechaInfoCardecNumbergmelinReferencekeggmeshpubChemCIDunNumbercompToxDashboardsmiles
doi- ISO International Identifiers (Remove dashes and spaces for each)
isbn(13-digits)issn(8-digits) (^[0-9]{4}-[0-9]{3}[0-9xX]$)ismn(13-digits)isan(12 bytes)iswc("T", then 10 digits)istc(?)isrc(CC-999-YY-NNNNN)iswn(?)isin(12 alphanums)iin(6 digits)bei(?)lei(20-character, alpha-numeric code)iban(CCKK[0-9A-Z]{1,30})isil([A-Z0-9/\-:]{1,16})isli(ISLI XXXXXX-XXXXX-X)isni(16 digits and a check character)isci(?)mic- Maybe add some sort of check-digit functionality?
lccn(Library of Congress Control Number?)oclcbicisiciasincodenettnestcnsinarniqn(iqn.YYYY-MM.wilbur.space(?:targetName)?)tickerairportCodeusbNumber(HHHH:HHHH)tlsCipher- Hashes
md5sha128sha256sha384sha512
htmlxmljsonyamltomlhttpCodeftpCodesmtpCodepixelColorprinterColorleftRightupDownfrontBackdirection4passwordkeypostalCode(This should just be a VARCHAR(16))dunspaymentCardNumberimeiiccidmeidseidgrid(https://en.wikipedia.org/wiki/Global_Release_Identifier)duid?- ISO script codes?
cage(https://en.wikipedia.org/wiki/Commercial_and_Government_Entity_code)tpin(https://en.wikipedia.org/wiki/Trading_Partner_Identification_Number)abn(https://en.wikipedia.org/wiki/Australian_Business_Number)- ISO currency codes?
ioccOlympic Country CodesfipsCountryCode
- Check
regexesgroup names - Add LDAP matching rules
- Add
minimumandmaximumto floating point types.- How will the targe libraries ignore storage extrema?
- Add length indicators to the end of LDAP syntaxes
- Add these labels:
- Theoretical minimum storage in bytes
- Theoretical maximum storage in bytes
- Review backslashes use in regex patterns.
- Review use of DirectoryString in
openldaptarget. - Add .NET Class label.
- Add
unitslabel - Add
unitsSymbollabel - Add
mathematicalSymbollabel - Add
alertlabel - Add
operatingSystemlabel - Add hash security-related label
- Add
deprecatedlabel - Add
urnNamespacelabel (https://www.iana.org/assignments/urn-namespaces/urn-namespaces.xhtml) - Add
definingOrganizationannotation - Create Secure-Text type
- Filter out SQL injection
- Filter out XSS tags
- Filter out nulls
- Filter out LDAP injection
- Filter out Directory Traversal
- Add the
$to the end of regexes.- I omitted this originally because I have had problems with MariaDB matching strings when that is included.
- Add multiple
exampleValuefields. - Add
specificationPublisherannotation - Do you need to trim
CHARtypes?
0.1.0
6 years ago