model

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2023 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*[)])?`,
			`['"]?key['"]?\s*\:\s*['"](.+?)['"](?:.*\s*)['"]?defaultValue['"]?\s*\:\s*(['"].*['"]|[^\r\n\t\f\v,}]+).*[},]?`,
			`getFlag[(](?:(?:\s*["'](.*)["']\s*,\s*(["'].*\s*[^"]*["']|[^)]*))\s*[)])?`,
		},
	},

	{
		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: `\.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*[)])?`,
		},
	},
	{
		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*[)])?`,
		},
	},
	{
		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*[)])?`,
		},
	},
	{
		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*\))?`,
		},
	},
	{
		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*\))?`,
		},
	},
	{
		FileExtension: `\.dart$`,
		Regexes: []string{
			`getFlag[(](?:(?:\s*["'](.*)["']\s*,\s*(["'].*\s*[^"]*["']|[^)]*))\s*[)])?`,
		},
	},
}

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"`
}

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