테스팅시
beforeAll(()=>{
await container.clearInstances()
container.register<TypeDB>('DB_CONFIG', {
useFactory: instanceCachingFactory(() => new TypeDB()),
})
})테스팅시
beforeAll(()=>{
await container.clearInstances()
container.register<TypeDB>('DB_CONFIG', {
useFactory: instanceCachingFactory(() => new TypeDB()),
})
})| import { AbstractControl, FormArray, FormGroup } from '@angular/forms'; | |
| import { map, toPairs, fromPairs, differenceWith, isEqual, isNull, isUndefined } from 'lodash'; | |
| import { Observable, OperatorFunction, defer, empty, of, merge, pipe } from 'rxjs'; | |
| import { distinctUntilChanged, filter, map, shareReplay, pairwise } from 'rxjs/operators'; | |
| /** | |
| * Convenience RxJS operator that filters out undefined & null and modifies the downstream type | |
| * appropriately. | |
| */ | |
| export function exists<T>(): OperatorFunction<T | undefined | null, T> { |
| import { | |
| DynamoDBClient, | |
| PutItemCommand, | |
| GetItemCommand, | |
| UpdateItemCommand, | |
| DeleteItemCommand, | |
| } from '@aws-sdk/client-dynamodb'; | |
| import { | |
| marshall, | |
| unmarshall |
| import { APIGatewayProxyEventV2, APIGatewayProxyResultV2 } from "aws-lambda"; | |
| import { DynamoDB, PutItemInput } from '@aws-sdk/client-dynamodb' | |
| import { marshall } from '@aws-sdk/util-dynamodb' | |
| import { v4 as uuid } from 'uuid' | |
| interface TodoInput { | |
| id?: string | |
| title: string | |
| done: boolean | |
| } |
| const raw = [ | |
| {a:'a', b:'b', c:'c', max: 10, min: 2 }, | |
| {a:'a', b:'b', c:'c', max: 10, min: 2 }, | |
| {a:'a', b:'b', c:'c', max: 10, min: 3 }, | |
| {a:'a', b:'b', c:'c', max: 10, min: 4 }, | |
| {a:'a', b:'b', c:'c', max: 10, min: 5 }, | |
| {a:'a', b:'b', c:'c', max: 10, min: 6 }, | |
| {a:'a', b:'b', c:'c', max: 10, min: 7 }, | |
| ] |
| const initialData = { | |
| servers: [ | |
| { | |
| url: 'https://1.example.com/', | |
| title: 'Server 1', | |
| online: null, | |
| }, | |
| { | |
| url: 'https://2.example.com/', | |
| title: 'Server 2', |
A quick cheatsheet of useful snippet for Flutter
A widget is the basic type of controller in Flutter Material.
There are two type of basic Widget we can extend our classes: StatefulWidget or StatelessWidget.
StatefulWidget are all the widget that interally have a dynamic value that can change during usage. It can receive an input value in the constructor or reference to functions. You need to create two classes like:
| // Get AWS Congito access token using node-fetch and axios | |
| const axios = require('axios'); | |
| const fetch = require('node-fetch'); | |
| const url = 'https://REPLACE_ME.auth.ap-southeast-2.amazoncognito.com/oauth2/token'; | |
| const clientId = 'REPLACE_ME'; | |
| const clientSecret = 'REPLACE_ME'; | |
| const body = `client_id=${clientId}&client_secret=${clientSecret}&grant_type=client_credentials` | |
| // with node-fetch |