0.1.0 • Published 5 years ago

preql-stdlib v0.1.0

Weekly downloads
1
License
MIT
Repository
-
Last release
5 years ago

PreQL Standard Library

This is currently in development.

To Do

  • Types
    • id?
    • boolean
    • sint8
    • sint16
    • sint32
    • sint64
    • uint8
    • uint16
    • uint32
    • uint64
    • sreal8
    • sreal16
    • sreal32
    • sreal64
    • ureal8
    • ureal16
    • 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
    • urlSchema (Same thing as the 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 Codes
    • fipsCountryCode
  • Check regexes group names
  • Add LDAP matching rules
  • Add minimum and maximum 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?