This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static class NewtonsoftJsonFormatter | |
{ | |
public static object OrderedPropertiesAlphabeticallyAsc(dynamic dynamicJsonObj) | |
{ | |
if (dynamicJsonObj is JObject jObj) | |
{ | |
var sortedProperties = jObj.AsJEnumerable().OrderBy(x => x.Path).ToList(); | |
var sortedObj = new JObject(); | |
foreach (var item in sortedProperties) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<Project> | |
<PropertyGroup> | |
<Configuration>Debug</Configuration> | |
<Platform>Any CPU</Platform> | |
<PublishDir>..\..\..\..\NuGetLocal</PublishDir> | |
<PublishProtocol>FileSystem</PublishProtocol> | |
<TargetFramework>netstandard2.1</TargetFramework> | |
<VersionSuffix>$([System.DateTime]::Now.ToString("yyyyMMddHHmmss"))</VersionSuffix> | |
</PropertyGroup> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Enum<EnumT> where EnumT : Enum | |
{ | |
public static void ForEach(Action<EnumT> action) | |
{ | |
foreach (EnumT status in Enum.GetValues(typeof(EnumT))) | |
action(status); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const {engines} = require('./package'); | |
// https://github.com/parshap/check-node-version | |
const check = require('check-node-version'); | |
const {execSync} = require('child_process'); | |
check({node: engines.node}, async (error, result) => { | |
if (error) { | |
throw new Error(error); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const { exec } = require("child_process"); | |
const {engines} = require('./package'); | |
exec("npx check-node-version --package", (error, stdout) => { | |
const requiredNodeVersion = engines.node; | |
if (error) { | |
console.error(stdout); | |
exec("node --version", (error, stdout) => { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// <summary> | |
/// Redact/Mask the email address eg: some@gmail.com => s**e@g****.com | |
/// </summary> | |
public class EmailRedactor | |
{ | |
/// <summary> | |
/// eg: "some@gmail.com" => "s**e@g****.com" | |
/// </summary> | |
/// <param name="email"></param> | |
/// <returns></returns> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { FormGroup, FormControl, FormBuilder, AbstractControl } from '@angular/forms'; | |
export type FormGroupControlsOf<T> = { | |
[P in keyof T]: FormControl | FormGroup; | |
}; | |
export abstract class FormGroupTypeSafe<T> extends FormGroup { | |
//give the value a custom type s | |
value: T; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static class CSVHelperExtentions | |
{ | |
public static string ToCSVString<T>(this IEnumerable<T> objectToConvert) where T : class | |
{ | |
using (var memoryStream = new MemoryStream()) | |
{ | |
var config = new Configuration(); | |
using (var streamWriter = new StreamWriter(memoryStream)) | |
using (var csvWriter = new CsvWriter(streamWriter)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
node ./deployment-scripts/create.cognito.test.user.js dev ap-southeast-2_ISEDf22 admin@test.com password123456789 | |
*/ | |
const { region, environment, username, password, userPoolId } = readArguments(); | |
const AWS = require('aws-sdk'); | |
const cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider({ region: region }); | |
if (environment === 'dev' || environment === 'test') { | |
testUser().create$(environment, username, password); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export class Reflection { | |
constructor() { | |
} | |
//If you need more than just a property name eg: full type name try this - https://github.com/dsherret/ts-nameof#nameofto-- | |
static nameOf<T>(propertyFunction: (typeVal: T) => any): string { | |
return /\.([^\.;]+);?\s*\}$/.exec(propertyFunction.toString())[1]; | |
} | |
static nameOfClass<T>(classObject: Function): string { |
NewerOlder