UNPKG

@openfga/frontend-utils

Version:

Exposes helpful utilities for building authoring experiences of OpenFGA Models.

41 lines (40 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.languageDefinition = void 0; const theme_typings_1 = require("../../theme/theme.typings"); exports.languageDefinition = { [theme_typings_1.OpenFgaDslThemeTokenType.MODULE]: { pattern: /(module\s+)[\w_-]+/i, lookbehind: true, }, [theme_typings_1.OpenFgaDslThemeTokenType.TYPE]: { pattern: /(\btype\s+)[\w_-]+/i, lookbehind: true, }, [theme_typings_1.OpenFgaDslThemeTokenType.EXTEND]: { pattern: /(\bextend type\s+)[\w_-]+/i, lookbehind: true, }, [theme_typings_1.OpenFgaDslThemeTokenType.RELATION]: { pattern: /(\bdefine\s+)[\w_-]+/i, lookbehind: true, }, [theme_typings_1.OpenFgaDslThemeTokenType.DIRECTLY_ASSIGNABLE]: /\[.*]|self/, [theme_typings_1.OpenFgaDslThemeTokenType.CONDITION]: { pattern: /(\bcondition\s+)[\w_-]+/i, lookbehind: true, }, "condition-params": { pattern: /\(.*\)\s*{/, inside: { "condition-param": /\b([\w_-]+)\s*:/i, "condition-param-type": /\b(string|int|map|uint|list|timestamp|bool|duration|double|ipaddress)\b/, }, }, [theme_typings_1.OpenFgaDslThemeTokenType.COMMENT]: { pattern: /(^\s*|\s+)#.*/, }, [theme_typings_1.OpenFgaDslThemeTokenType.KEYWORD]: { pattern: /\b(type|relations|define|and|or|but not|from|as|model|schema|condition|module|extend)\b/, }, };