model

package
v0.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2024 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var LanguageRegexes = []LanguageRegex{
	{
		FileExtension: `\.[jt]sx?$`,
		Regexes: []string{
			`useFsFlag[(](?:(?:\s*['"](.*)['"]\s*,\s*(["'].*\s*[^"]*["']|[^)]*))\s*[)])?`,
			`useFsFlag[(](?:(?:\s*["'](.*)["']\s*[)]\s*.getValue[(](["'].*\s*[^"]*["']|[^)]*))\s*[)])?`,
			`['"]?key['"]?\s*\:\s*['"](.+?)['"](?:.*\s*)['"]?defaultValue['"]?\s*\:\s*(['"].*['"]|[^\r\n\t\f\v,}]+).*[},]?`,
			`getFlag[(](?:(?:\s*["'](.*)["']\s*,\s*(["'].*\s*[^"]*["']|[^)]*))\s*[)])?`,
			`getFlag[(](?:(?:\s*["'](\w*)["']\s*[)]\s*.getValue[(](["']\w*\s*[^"]*["']|[^)]*))\s*[)])?`,
		},
	},
	{
		FileExtension: `\.[jt]sx?$`,
		Regexes: []string{
			`(?:(\w+)\s*[?]?\s*[:]?\s*(?:number|string|boolean|any|void| never|null|undefined|bigint|symbol|object|IFSFlag|FSFlag)?)\s*[=]\s*(?:.*)useFsFlag[(](?:(?:\s*["'](\w*)["']\s*[)]\s*))[^\.]`,
			`(?:(\w+)\s*[?]?\s*[:]?\s*(?:number|string|boolean|any|void| never|null|undefined|bigint|symbol|object|IFSFlag|FSFlag)?)\s*[=]\s*(?:.*)getFlag[(](?:(?:\s*["'](\w*)["']\s*[)]\s*))[^\.]`,
		},
		Split:   true,
		ForFlag: true,
	},
	{
		FileExtension: `\.[jt]sx?$`,
		Regexes: []string{
			`\s*(\w*)[\.]getValue[(](["']?\w*["']?)[)]`,
		},
		Split:           true,
		ForDefaultValue: true,
	},
	{
		FileExtension: `\.go$`,
		Regexes: []string{
			`\.GetModification(?:String|Number|Bool|Object|Array)\((?:\s*["']([\w\-]+)['"]\s*,\s*(["'][^"]*['"]|[+-]?(?:\d*[.])?\d+|true|false|False|True)(?:\s*,\s*(?:true|false|\d+|"[^"]*"))?\s*\))?`,
		},
	},
	{
		FileExtension: `\.py$`,
		Regexes: []string{
			`\.get_modification\((?:\s*["']([\w\-]+)['"]\s*,\s*(["'][^"]*['"]|[+-]?(?:\d*[.])?\d+|true|false|False|True)(?:\s*,\s*(?:true|false|True|False|\d+|"[^"]*"))?\s*\))?`,
		},
	},
	{
		FileExtension: `\.java$`,
		Regexes: []string{
			`\.getModification\(\s*(?:\s*["']([\w\-]+)['"]\s*,\s*(["'][^"]*['"]|[+-]?(?:\d*[.])?\d+|true|false|False|True)(?:\s*,\s*(?:true|false|\d+|"[^"]*"))?\s*\))?`,
			`\.getFlag[(](?:\s*(?:\s*["'](.*)["']\s*,\s*(["'].*\s*[^"]*["']|[^)]*))\s*[)])?`,
		},
	},
	{
		FileExtension: `\.kt$`,
		Regexes: []string{
			`\.getModification\(\s*(?:\s*["']([\w\-]+)['"]\s*,\s*(["'][^"]*['"]|[+-]?(?:\d*[.])?\d+|true|false|False|True)(?:\s*,\s*(?:true|false|\d+|"[^"]*"))?\s*\))?`,
			`\.getFlag[(](?:\s*(?:\s*["'](.*)["']\s*,\s*(["'].*\s*[^"]*["']|[^)]*))\s*[)])?`,
			`getFlag[(](?:(?:\s*["'](\w*)["']\s*[)]\s*.value[(](["'].*\s*[^"]*["']|[^)]*))\s*[)])?`,
		},
	},
	{
		FileExtension: `\.kt$`,
		Regexes: []string{
			`(?:(\w+))\s*[=]\s*(?:.*)getFlag[(](?:(?:\s*["'](\w*)["']\s*[)]\s*))[^\.]`,
		},
		Split:   true,
		ForFlag: true,
	},
	{
		FileExtension: `\.kt$`,
		Regexes: []string{
			`\s*(\w*)[\.]value[(](["']?\w*["']?)[)]`,
		},
		Split:           true,
		ForDefaultValue: true,
	},
	{
		FileExtension: `\.php$`,
		Regexes: []string{
			`\-\>getModification\(\s*(?:\s*["']([\w\-]+)['"]\s*,\s*(["'][^"]*['"]|[+-]?(?:\d*[.])?\d+|true|false|False|True)(?:\s*,\s*(?:true|false|\d+|"[^"]*"))?\s*\))?`,
			`\-\>getFlag[(](?:\s*(?:\s*["'](.*)["']\s*,\s*(["'].*\s*[^"]*["']|[^)]*))\s*[)])?`,
			`\-\>getFlag[(](?:\s*(?:\s*["'](\w*)["']\s*[)]\s*\-\>\s*getValue[(](["'].*\s*[^"]*["']|[^)]*))\s*[)])?`,
		},
	},
	{
		FileExtension: `\.php$`,
		Regexes: []string{
			`(?:(\w+))\s*[=]\s*(?:.*)getFlag[(](?:(?:\s*["'](\w*)["']\s*[)]\s*))[^\-]`,
		},
		Split:   true,
		ForFlag: true,
	},
	{
		FileExtension: `\.php$`,
		Regexes: []string{
			`\s*(\w*)\s*\-\>\s*getValue[(](["']?\w*["']?)[)]`,
		},
		Split:           true,
		ForDefaultValue: true,
	},
	{
		FileExtension: `\.swift$`,
		Regexes: []string{
			`\.getModification\((?:\s*["'](\w+)['"]\s*,\s*default(?:String|Double|Float|Int|Bool|Json|Array)\s*:\s*(["'][^"]*['"]|[+-]?(?:\d*[.])?\d+|true|false|False|True)\s*(?:,\s*activate\s*:\s*(?:true|false|\d+|"[^"]*"))?\s*\))?`,
			`\.getFlag[(](?:\s*key\s*:\s*(?:\s*["'](.*)["']\s*,\s*defaultValue\s*:\s*(["'].*\s*[^"]*["']|[^)]*))\s*[)])?`,
			`getFlag[(](?:\s*key\s*[:]\s*(?:\s*["'](\w*)["']\s*[)]\s*\.value[(]\s*defaultValue\s*[:]\s*(["'].*\s*[^"]*["']|[^)]*))\s*[)])?`,
		},
	},
	{
		FileExtension: `\.swift$`,
		Regexes: []string{
			`(?:(\w+))\s*[=]\s*(?:.*)getFlag[(](?:(?:\s*key\s*[:]\s*["'](\w*)["']\s*[)]\s*))[^\.]`,
		},
		Split:   true,
		ForFlag: true,
	},
	{
		FileExtension: `\.swift$`,
		Regexes: []string{
			`\s*(\w*)[\.]value[(]\s*defaultValue\s*[:]\s*(["']?\w*["']?)[)]`,
		},
		Split:           true,
		ForDefaultValue: true,
	},
	{
		FileExtension: `\.m$`,
		Regexes: []string{
			`getModification\s*:(?:\s*\@?\s*['"](.+?)['"](?:\s*)default(?:String|Double|Bool|Float|Int|Json|Array):\@?\s*(['"].+?['"]|YES|NO|TRUE|FALSE|true|false|[+-]?(?:\d*[.])?\d+)?)?`,
			`getFlagWithKey\s*:(?:\s*\@?['"](.+?)['"](?:\s*)['"]?defaultValue['"]?\s*\:\s*\@?\s*(.+?)\s*[\]])?`,
		},
	},
	{
		FileExtension: `\.[fc]s$`,
		Regexes: []string{
			`\.GetModification\((?:\s*["']([\w\-]+)['"]\s*,\s*(["'][^"]*['"]|[+-]?(?:\d*[.])?\d+|true|false|False|True)(?:\s*,\s*(?:true|false|\d+|"[^"]*"))?\s*\))?`,
			`\.GetFlag\((?:\s*["']([\w\-]+)['"]\s*,\s*(["'][^"]*['"]|[+-]?(?:\d*[.])?\d+|true|false|False|True)(?:\s*,\s*(?:true|false|\d+|"[^"]*"))?\s*\))?`,
			`GetFlag[(](?:(?:\s*["'](\w*)["']\s*[)]\s*.GetValue[(](["'].*\s*[^"]*["']|[^)]*))\s*[)])?`,
		},
	},
	{
		FileExtension: `\.[fc]s$`,
		Regexes: []string{
			`(?:(\w+))\s*[=]\s*(?:.*)GetFlag[(](?:(?:\s*["'](\w*)["']\s*[)]\s*))[^\.]`,
		},
		Split:   true,
		ForFlag: true,
	},
	{
		FileExtension: `\.[fc]s$`,
		Regexes: []string{
			`\s*(\w*)[\.]GetValue[(](["']?\w*["']?)[)]`,
		},
		Split:           true,
		ForDefaultValue: true,
	},
	{
		FileExtension: `\.vb$`,
		Regexes: []string{
			`\.GetModification\((?:\s*["']([\w\-]+)['"]\s*,\s*(["'][^"]*['"]|[+-]?(?:\d*[.])?\d+|true|false|False|True)(?:\s*,\s*(?:true|True|false|False|\d+|"[^"]*"))?\s*\))?`,
			`\.GetFlag\((?:\s*["']([\w\-]+)['"]\s*,\s*(["'][^"]*['"]|[+-]?(?:\d*[.])?\d+|true|false|False|True)(?:\s*,\s*(?:true|false|\d+|"[^"]*"))?\s*\))?`,
			`GetFlag[(](?:(?:\s*["'](\w*)["']\s*[)]\s*.GetValue[(](["'].*\s*[^"]*["']|[^)]*))\s*[)])?`,
		},
	},
	{
		FileExtension: `\.dart$`,
		Regexes: []string{
			`getFlag[(](?:(?:\s*["'](.*)["']\s*,\s*(["'].*\s*[^"]*["']|[^)]*))\s*[)])?`,
			`getFlag[(](?:(?:\s*["'](\w*)["']\s*[)]\s*.value[(](["'].*\s*[^"]*["']|[^)]*))\s*[)])?`,
		},
	},
	{
		FileExtension: `\.dart$`,
		Regexes: []string{
			`(?:(\w+))\s*[=]\s*(?:.*)getFlag[(](?:(?:\s*["'](\w*)["']\s*[)]\s*))[^\.]`,
		},
		Split:   true,
		ForFlag: true,
	},
	{
		FileExtension: `\.dart$`,
		Regexes: []string{
			`\s*(\w*)[\.]value[(](["']?\w*["']?)[)]`,
		},
		Split:           true,
		ForDefaultValue: true,
	},
}

Functions

func AddCustomRegexes

func AddCustomRegexes(customRegexJSON string)

Types

type FileSearchResult

type FileSearchResult struct {
	File    string
	FileURL string
	Error   error
	Results []SearchResult
}

FileSearchResult represents all the reults of a code pattern search in a file

type LanguageRegex

type LanguageRegex struct {
	FileExtension   string   `json:"file_extension"`
	Regexes         []string `json:"regexes"`
	Split           bool     `json:"split"`
	ForFlag         bool     `json:"search_flag"`
	ForDefaultValue bool     `json:"search_default_value"`
}

type SearchResult

type SearchResult struct {
	LineNumber        int
	CodeLines         string
	CodeLineHighlight int
	CodeLineURL       string
	FlagKey           string
	FlagDefaultValue  string
	FlagType          string
}

SearchResult represents the result of a code pattern search in a file

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL