import { GenericResource } from "azure-arm-resource/lib/resource/models"; import { Options } from "../options"; const TEST_RE = /(\b|_)(test|tmp|temp)(\b|_|[0-9])/; export type Match = (resource: GenericResource) => boolean; export function matchResource(options: Options): Match { const type = options.string("type", null); const name = options.string("name", null); if (type || name) { const re = name ? new RegExp(`^${name}$`) : null; return (resource: GenericResource) => (!re || (resource.name != null && resource.name.match(re) != null)) && (!type || resource.type === type); } else { return () => true; } } export function temporaryOrTest(name?: string): boolean { return name != null && name.match(TEST_RE) != null; }