Skip to content

Calendar Version

Type Registry

Calendar Version

technology.development.calver

Calendar versioning (CalVer) following date-based patterns like YYYY.MM.DD or YYYY.MM. Used by projects that version based on release calendar.

Domain technologydevelopment
Casts to VARCHAR
Scope Universal

Try it

CLI
$ finetype infer -i "2024.02"
→ technology.development.calver

DuckDB

Detect
SELECT finetype('2024.02');
-- → 'technology.development.calver'
Cast expression
CAST({col} AS VARCHAR)
Safe cast pipeline
-- Normalise and cast in one step
SELECT TRY_CAST(finetype_cast(my_column) AS VARCHAR) AS clean_value
FROM my_table
WHERE finetype(my_column) = 'technology.development.calver';

Struct Expansion

day: CAST(REGEXP_EXTRACT({col}, '^[0-9]{4}\.[0-9]{2}\.([0-9]{2})') AS SMALLINT)
month: CAST(REGEXP_EXTRACT({col}, '^[0-9]{4}\.([0-9]{2})') AS SMALLINT)
year: CAST(REGEXP_EXTRACT({col}, '^([0-9]{4})') AS SMALLINT)

JSON Schema

finetype schema technology.development.calver
{
  "$id": "https://noon.sh/schemas/technology.development.calver",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Calendar versioning (CalVer) following date-based patterns like YYYY.MM.DD or YYYY.MM. Used by projects that version based on release calendar.",
  "examples": [
    "2024.02",
    "2024.02.09",
    "2023.12.31",
    "2024.01.15.1"
  ],
  "pattern": "^[0-9]{4}\\.[0-9]{2}(?:\\.[0-9]{2})?(?:\\..*)?$",
  "title": "Calendar Version",
  "type": "string"
}

Examples

2024.022024.02.092023.12.312024.01.15.1

Types in technology