class Example { public select(field: ChangeLiteral): Record { // Here a logic return {} as any; } }
const p = new Example(); p.select('a as Xa'); p.select('test as g'); p.select('testa as '); // Fail: missing prop p.select('test ass'); // Fail: 'as' expected
p.select('test as g').g = 'a'; // Ok p.select('test as g').g = 43; // Fail: Not number p.select('test as g').s = 's'; // Fail: Not exists
Chciałbym oficjalnie NAPLUĆ z tego miejsca na każdego któremu nie chcę się dziś iść na #wybory nie zależnie od tego na kogo by zagłosował. Oczywiście podwójnie chciałbym OPLUĆ tych którym się dziś nie chcę iść ale będą pisać o polityce na mirko regularnie.
DOSKONALA BRUNETKA ? Faceci jak ona wam sie podoba ? Kobiety co myslicie o takim stylu? Te paznokcie, usta, rzesy, makijaz, piersy itd. Ocencie jej wyglad
Template Literal Types.
${Type} as ${X}interface ExampleType {
test: string;
a: number;
b: Date;
}
type ChangeLiteral = Type |
;
class Example {
public select(field: ChangeLiteral): Record {
// Here a logic
return {} as any;
}
}
const p = new Example();
p.select('a as Xa');
p.select('test as g');
p.select('testa as '); // Fail: missing prop
p.select('test ass'); // Fail: 'as' expected
p.select('test as g').g = 'a'; // Ok
p.select('test as g').g = 43; // Fail: Not number
p.select('test as g').s = 's'; // Fail: Not exists
https://www.typescriptlang.org/play?strictPropertyInitialization=false#code/JYOwLgpgTgZghgYwgAgKIA84FsAOAbCAFQE8cUBvAKEgGcwAuZOqUAcwG5K5GQBXLAEbROAxgBE4kTgF9K1UigDCACzghWEADLBIUOHgA8JMsgjpIIACY0mYFuoA0yABqnzEKzeZsAfMgC8yMYoAD7IAAYAJOTB0shwNtHO0uGccgh4CTYY2PgQRm4W1sgA9gIAVhAIYH5UyMg4vAJ4wAhMEATVBq5mRV52bE4AmoUexQDWEMQlMEHIAGS29qw+ABQwwB2WjCpqGtq6+gZDTs4+AJSMAEpVJVCW3chOhADaQwC6tZT19QD0v8gABLQFBwZB4EqsVrfH5QCBgXhQEDIchxBLxEDETj1WSySgIEogOgNALIEAQADuaEwuAIBhytKICjW504OAAdDQOlUwKsAORg9HOOB81mUDlczq8vm0MDxGysUVsznc6r82WCmxK5D-ZAAMTgwDwjCwwBoNDYDSgJRw4pVUvVEGJWW1uoNRsYApofLcZGqEEscglqulsvlyEV53ZrFJAr57B1AIA8uM7ZKeY7nQrRdHSQAWADMCd1+sNxuQADkSnK+IJoGmQ5m5ejI5zY97iwD3eWq3KzGawDRKEA
#programowanie