Localstack comes with a docker-compose file that won't quite work when you're running the (linux) container in docker for Windows.
Two changes need to be made:
We can just comment that line out:
// Thanks to Michael Rush for the original version of this rule (https://software-development.dfstudio.com/youtracks-new-javascript-workflows-make-slack-integration-a-breeze-d3275605d565) | |
// IMPORTANT: Use a valid Incoming Webhook from Slack. To get one, go to https://my.slack.com/services/new/incoming-webhook/ | |
var SLACK_WEBHOOK_URL = 'https://hooks.slack.com/services'; | |
var entities = require('@jetbrains/youtrack-scripting-api/entities'); | |
var http = require('@jetbrains/youtrack-scripting-api/http'); | |
var workflow = require('@jetbrains/youtrack-scripting-api/workflow'); | |
function formatIssueAsAttachment(i) { |
/// <summary> | |
/// Serilog won't be able to pull structured props out of a C# interpolated string. | |
/// See https://nblumhardt.com/2015/01/c-6-string-interpolation-and-serilog/ | |
/// </summary> | |
[DiagnosticAnalyzer(LanguageNames.CSharp)] | |
public class NoInterpolationInSerilogAnalyzer : DiagnosticAnalyzer | |
{ | |
const string Category = "Logging"; | |
const string Title = "String interpolation breaks Serilog structuring"; | |
const string MessageFormat = "String interpolation breaks Serilog structuring"; |
public class SettingsRegistrationSource : IRegistrationSource | |
{ | |
public string Suffix { get; } | |
public SettingsRegistrationSource(string suffix) | |
{ | |
Suffix = suffix; | |
} | |
public IEnumerable<IComponentRegistration> RegistrationsFor(Service service, Func<Service, IEnumerable<IComponentRegistration>> registrationAccessor) |
Localstack comes with a docker-compose file that won't quite work when you're running the (linux) container in docker for Windows.
Two changes need to be made:
We can just comment that line out:
let rows: string[] = []; | |
for (let count = 1; count <= 10; count++) { | |
let numbers = Array.from(new Array(count)).map((x, i) => i + 1); | |
let genericDef = numbers.map(x => `T${x} extends string`).join(', '); | |
let parameterDef = numbers.map(x => `a${x}: T${x}`).join(', '); | |
let recordDef = numbers.map(x => `T${x}`).join('|'); | |
rows.push(`<${genericDef}>(strings: TemplateStringsArray, ${parameterDef}): HasRouteTemplate & ((r: Record<${recordDef}, string>) => string);`); | |
} | |
console.log('\n\n' + rows.join('\n')); |
type StateMap<TStates extends string, TActions extends string> = { | |
[S in TStates]: { //for every string option in TStates: | |
[A in TActions]?: TStates; //optionally map to the next state if it's a valid action there | |
} | |
}; //AKA: Record<TStates, Partial<Record<TActions, TStates>>>; | |
class StateMachine<TStates extends string, TActions extends string>{ | |
constructor(private _currentState: TStates, private stateMap: StateMap<TStates, TActions>) { } | |
get currentState() { |
var mm = components.mapModel; | |
var colours = '#FDB813 #A7BE38 #9EA4C1 #FF8384 #FFD87D'.split(' '); | |
function walk(node, depth){ | |
if(!depth || !mm.getStyleForId(node.id, 'background')){ | |
console.log('setting '+node.title +' to ' +colours[depth], depth); | |
mm.selectNode(node.id); | |
mm.updateStyle('script', 'background', colours[depth]); | |
} |
.mapjs-node{ | |
color: black; | |
} | |
.mapjs-node[mapjs-level="1"] { | |
background-color: #FDB813; | |
color:white; | |
} | |
.mapjs-node[mapjs-level="2"] { | |
background-color: #A7BE38; |
public class ApprovalNameEnhancer : SpecFixtureBase | |
{ | |
public override void StepSetup(Step step) | |
{ | |
//tack the step description onto the approval file name: | |
NamerFactory.AdditionalInformation = step.Description; | |
//ok, but what if the step used twice in the same spec (with the same arguments)? | |
var dupes = step.Spec.Steps.Where(x => x.Description == step.Description); | |
var index = dupes.ToList().IndexOf(step); |
/// <summary> | |
/// Speclight users like to see "Pending" steps (that throw NotImplementedException) as "skip" not "fail" | |
/// </summary> | |
public class SpecAttribute : FactAttribute | |
{ | |
protected override IEnumerable<ITestCommand> EnumerateTestCommands(IMethodInfo method) | |
{ | |
yield return new SkipIfNotImplemented(method); | |
} |