Una serie di comandi base per operare con git senza essere esperti
git statusTi dice in che branch ti trovi, quali file hai modificato, quali sono nell'index.
| type ConfirmedMobile = string & { __random_transparent_property: never } | |
| type UnconfirmedMobile = string & { __another_random_transparent_property: never } | |
| type CertifiedMobile = string & { __again_random_transparent_property: never } | |
| type Mobile = // ConfirmedMobile | UnconfirmedMobile | CertifiedMobile :) | |
| ConfirmedMobile | |
| | UnconfirmedMobile | |
| | CertifiedMobile | |
| const printString = (p: string) => console.log(`print String ${p}`) | |
| const printConfirmedMobile = (p: ConfirmedMobile) => console.log(`print ConfirmedMobile ${p}`) |
| // it's just a cast ;) | |
| const createOf = <T extends Base, Base>(original: Base) => <T>original |
| type ConfirmedMobile = string & { __phantom_1548946378096: never } | |
| const createConfirmedMobile = (num: String) => createOf<ConfirmedMobile, String>(num) | |
| type CertifiedMobile = string & { __phantom_1548946391842: never } | |
| const createCertifiedMobile = (num: String) => createOf<CertifiedMobile, String>(num) | |
| const confirmed = createConfirmedMobile('2984829202') | |
| // ^^^ ConfirmedMobile | |
| const certified = createCertifiedMobile('2984829202') | |
| // ^^^ CertifiedMobile |
| type Foo = { | |
| value: string, | |
| __phantom: never | |
| } | |
| const f = () => { throw '' } | |
| const x: Foo = { value: 'foo', __phantom: f() } |
| // email.ts | |
| import { Email } from './mobile'; | |
| export type Email = string & { __phantom_1549009918142: never } | |
| export const createEmail = (input: string): Email | Error => { | |
| const pattern = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0–9]{1,3}\.[0–9]{1,3}\.[0–9]{1,3}\.[0–9]{1,3}])|(([a-zA-Z\-0–9]+\.)+[a-zA-Z]{2,}))$/ | |
| if(pattern.test(input)) return createOf<Email, string>(input) | |
| else return new Error(`invalid email format: ${input}`) | |
| } |
| import Swagger from 'swagger-client'; | |
| const url = 'https://petstore.swagger.io/v2/swagger.json'; // or where the spec is | |
| const requestInterceptor = req => { | |
| // Here you can add custom headers | |
| // ex: req.headers['Authorization'] = 'Bearer <YOUR TOKEN>'; | |
| return req; | |
| }; |
| # get latest commit with passing tests | |
| while true; do npm test && break || git checkout HEAD~1; done | |
| # count how many commits in between | |
| echo $(($(git rev-list --count HEAD..master) - 1)) | |
| # checkout where things got broken | |
| while true; do npm test && break || git checkout HEAD~1; done; git checkout master~$(($(git rev-list --count HEAD..master) - 1)) |
| {"lastUpload":"2019-12-19T15:29:42.810Z","extensionVersion":"v3.4.3"} |
| #!/bin/bash | |
| bold=$(tput bold) | |
| normal=$(tput sgr0) | |
| # project name | |
| REPO=$1 | |
| # github owner | |
| GH_ORG=$2 | |
| # azure devops organization |