0.1.0 • Published 5 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
?boolean
sint8
sint16
sint32
sint64
uint8
uint16
uint32
uint64
sreal8sreal16
sreal32
sreal64
ureal8ureal16
ureal32
ureal64
varchar8
varchar16
varchar32
varchar64
text8
text16
text32
text64
blob8
blob16
blob32
blob64
personName
phone
email
fqdn
dnsLabel
hostname
uuid
oid
bsonId
handle
(Twitter, Gab, Discord)sex
timeZone
ean2
ean5
ean8
ean13
upca
upcb
upcc
upcd
upce
upc2
upc5
gtin8
gtin12
gtin13
gtin14
ssn
eui48
eui60
eui64
cdi32
cdi40
oui24
oui36
ipv4
ipv6
ip
money
iso3166-1-alpha-2
iso3166-1-alpha-3
iso3166-1-numeric
iso3166-2
iso639-1
iso639-2
iso639-3
iso639-5
date
time
datetime
timestamp
?year
month
day
hour
minute
second
millisecond
- Spatial types?
locale
mimeType
uri
urn
url
(Same thing as theurlSchema
irlSchema
.)urlUsername
urlPassword
urlPath
urlQuery
urlFragment
iri
irn
irl
irlSchema
irlUsername
irlPassword
irlPath
(Check for leading "/"?)irlQuery
(Check for leading "?"?)irlFragment
(Check for leading "#"?)unc
plusCode
unixFileName
unixPath
windowsFileName
windowsPath
sid
dn
rdn
dnsRecordType
compass4
(N, E, S, W)compass8
(N, NE, E, etc.)compass16
(N, NNE, ENE, etc.)latitude
longitude
fahrenheit
(Minimum -459.67)celcius
(Minimum -273.15)kelvins(This is simply an unsigned floating-point type.)- Chemistry
element
iupacName
chemicalFormula
casNumber
bilsteinReference
chebi
chembl
chemspider
echaInfoCard
ecNumber
gmelinReference
kegg
mesh
pubChemCID
unNumber
compToxDashboard
smiles
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?)oclc
bici
sici
asin
coden
ettn
estc
nsin
arn
iqn
(iqn.YYYY-MM.wilbur.space(?:targetName)?
)ticker
airportCode
usbNumber
(HHHH:HHHH)tlsCipher
- Hashes
md5
sha128
sha256
sha384
sha512
html
xml
json
yaml
toml
httpCode
ftpCode
smtpCode
pixelColor
printerColor
leftRight
upDown
frontBack
direction4
password
key
postalCode(This should just be a VARCHAR(16))duns
paymentCardNumber
imei
iccid
meid
seid
grid
(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?
iocc
Olympic Country CodesfipsCountryCode
- Check
regexes
group names - Add LDAP matching rules
- Add
minimum
andmaximum
to 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
openldap
target. - Add .NET Class label.
- Add
units
label - Add
unitsSymbol
label - Add
mathematicalSymbol
label - Add
alert
label - Add
operatingSystem
label - Add hash security-related label
- Add
deprecated
label - Add
urnNamespace
label (https://www.iana.org/assignments/urn-namespaces/urn-namespaces.xhtml) - Add
definingOrganization
annotation - 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
exampleValue
fields. - Add
specificationPublisher
annotation - Do you need to trim
CHAR
types?
0.1.0
5 years ago