Skip to content

Instantly share code, notes, and snippets.

View ScriptBytes's full-sized avatar

Jeff ScriptBytes

View GitHub Profile
@ScriptBytes
ScriptBytes / simpleSnippet.json
Created December 9, 2019 05:15
Simple VS Code snippet
"Print to console Test": {
"prefix": "log",
"body": [
"console.log('Hello ${1:name}!!!');",
"$2"
],
"description": "Log output to console"
}
@ScriptBytes
ScriptBytes / crud-service.json
Created December 11, 2019 04:47
VS Code snippet for creating an Angular CRUD service
{
"Angular CRUD Service": {
"prefix": "crud-service",
"body": [
"import { Injectable } from '@angular/core';",
"import { HttpClient } from '@angular/common/http';",
"import { Observable, throwError } from 'rxjs';",
"import { ${1:className} } from '@cook/models/${2:classFileName}.interface';",
"import { environment } from '@cook/environment/environment';",
"import { catchError } from 'rxjs/operators';",
@ScriptBytes
ScriptBytes / auth.service.ts
Created December 19, 2019 00:46
Template for an auth service
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { User } from '../models/user.model';
@Injectable({
providedIn: 'root'
})
export class AuthService {
private _user$: BehaviorSubject<User> = new BehaviorSubject<User>(null);
user$ = this._user$.asObservable();
longSentence = JSON.parse(`{"value": "Lorem ipsum dolor sit \
amet, consectetur adipiscing elit, sed do \
eiusmod tempor incididunt ut labore et dolore \
magna aliqua. Ut enim ad minim veniam, quis nostrud \
exercitation ullamco laboris nisi ut aliquip ex ea \
commodo consequat. Duis aute irure dolor in \
reprehenderit in voluptate velit esse cillum dolore \
eu fugiat nulla pariatur. Excepteur sint occaecat \
cupidatat non proident, sunt in culpa qui officia \
deserunt mollit anim id est laborum."}`);
longSentence = JSON.parse(`{"value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."}`);
longSentence = JSON.parse('{"value": "Lorem ipsum dolor sit ' +
'amet, consectetur adipiscing elit, sed do ' +
'eiusmod tempor incididunt ut labore et dolore ' +
'magna aliqua. Ut enim ad minim veniam, quis nostrud ' +
'exercitation ullamco laboris nisi ut aliquip ex ea ' +
'commodo consequat. Duis aute irure dolor in ' +
'reprehenderit in voluptate velit esse cillum dolore ' +
'eu fugiat nulla pariatur. Excepteur sint occaecat ' +
'cupidatat non proident, sunt in culpa qui officia ' +
'deserunt mollit anim id est laborum."}');
import { Injectable } from '@angular/core';
import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';
import { Observable } from 'rxjs';
import { AuthService } from '../auth.service';
@Injectable({
providedIn: 'root'
})
export class HasRoleGuard implements CanActivate {
constructor(
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { BehaviorSubject} from 'rxjs';
import { StoreSettings } from './models/store-settings.model';
@Injectable({ providedIn: 'root' })
export abstract class StoreService<T> {
protected itemsSubject = new BehaviorSubject<T[]>([]);
items$ = this.itemsSubject.asObservable();
load(filter = '', order = '', page = 0, pageSize = 0, useCache = false, append = false) {
if (useCache && this.items?.length > 0) {
return;
}
this.loading = true;
const url = this.settings.url + `?filter=${filter}&order=${order}&page=${page}&pageSize=${pageSize}`;
this.http
.get<T[]>(url)
.pipe(