Skip to content

Instantly share code, notes, and snippets.

View MariusBongarts's full-sized avatar

Marius Bongarts MariusBongarts

View GitHub Profile
@MariusBongarts
MariusBongarts / ProductService.ts
Created August 7, 2021 13:34
DRY - ProductService updated
class ProductService extends CRUDService<Product> {
constructor() {
super('product');
}
async create(options: CrudOperationOptions<Product>) {
if (userIsPermitted(options.user)) {
return super.create(options);
}
@MariusBongarts
MariusBongarts / ProductService.ts
Created August 7, 2021 16:04
DRY - duplicated Blocl
if (userIsPermitted(options.user)) {
return super.create(options);
}
return undefined;
@MariusBongarts
MariusBongarts / helper.ts
Created August 7, 2021 16:31
DRY - password validation
const passwordIsValid = (password: string) => password.length >= 6;
@MariusBongarts
MariusBongarts / password-service.ts
Last active August 11, 2021 16:47
medium-monorepo
export const validationRules: ValidationRule[] = [
{
id: "lowercase",
name: "Lower-case",
check: (value: string) => /[a-z|ç|ş|ö|ü|ı|ğ]/u.test(value),
},
{
id: "uppercase",
name: "Upper-case",
check: (value: string) => /[A-Z|Ç|Ş|Ö|Ü|İ|Ğ]/u.test(value),
@MariusBongarts
MariusBongarts / package.json
Created August 11, 2021 19:51
medium-monorepo
"packageManager": "[email protected]"
@MariusBongarts
MariusBongarts / .yarnrc.yml
Created August 11, 2021 20:09
medium-monorepo yarnrc
nodeLinker: node-modules
@MariusBongarts
MariusBongarts / package.json
Created August 11, 2021 20:16
monorepo workspaces
"workspaces": {
"packages": [
"packages/*"
]
},
@MariusBongarts
MariusBongarts / package.json
Created August 11, 2021 20:26
monorepo start build
"scripts": {
"start": "yarn workspaces foreach -pi run start",
"build": "yarn workspaces foreach -pti run build"
}
@MariusBongarts
MariusBongarts / package.json
Created August 11, 2021 20:38
package client and server
"dependencies": {
"@mariusbongarts/medium-monorepo-shared": "1.0.0"
}
export const matchUrlWithoutHashsRegex = (url: string) =>
`(${url.split('#')[0]})(\\s|#[\\w]{1,}|\\/(\\s)|\\/(#)|($))`
export function currentPageFilter<T extends Mark | Bookmark>(element: T) {
const regex = new RegExp(matchUrlWithoutHashsRegex(location.href));
return regex.test(element.url);
}