કોણીય NgRx માં વપરાશકર્તા ડેટા ડિસ્પેચ કરતી વખતે સામાન્ય સમસ્યાઓ
સાથે કામ કરતી વખતે કોણીય માં NgRx, ક્રિયાઓ અને સ્ટોર્સ દ્વારા રાજ્યનું સંચાલન એ એક શક્તિશાળી પેટર્ન છે. જો કે, જેમ જેમ તમારી એપ્લિકેશન વધે છે, તેમ સ્ટોર પર ડેટા ડિસ્પેચ કરતી વખતે તમને અણધારી ભૂલો આવી શકે છે. એક સામાન્ય સમસ્યા ઉદ્દભવે છે જ્યારે પ્રકાર અસંગતતાને કારણે જટિલ વસ્તુઓને ક્રિયાઓમાં પસાર કરવામાં આવે છે. આવી ભૂલો સામાન્ય રીતે તમારા IDE માં લાલ રેખાઓ દ્વારા સંકેત આપવામાં આવે છે, જે સંભવિત તકરાર સૂચવે છે.
જો તમે એવી સેવાનો અમલ કરી રહ્યાં છો કે જે વપરાશકર્તાને સાઇન અપ કરે છે અને પછી તેમનો ડેટા સ્ટોર પર મોકલે છે, તો તમને ટાઇપ-સંબંધિત ભૂલો આવી શકે છે. આ ઘણીવાર ત્યારે થાય છે જ્યારે તમે જે ઑબ્જેક્ટ મોકલી રહ્યાં છો તેના ગુણધર્મો અપેક્ષિત મોડલ સ્ટ્રક્ચર સાથે સંપૂર્ણપણે મેળ ખાતા નથી. આ ભૂલ સંદેશાઓને સમજવું અને તેનું નિરાકરણ કાર્યાત્મક એપ્લિકેશન જાળવવા માટે નિર્ણાયક છે.
આ દૃશ્યમાં, ભૂલ સંદેશ ની ગુણધર્મોમાં મેળ ખાતી ન હોવાનું સૂચવે છે વપરાશકર્તા મોડલ. બેકએન્ડ ડેટા ના નિર્ધારિત ગુણધર્મો સાથે સંપૂર્ણપણે સંરેખિત ન હોઈ શકે વપરાશકર્તા મોડલ વર્ગ. આ ગૂંચવણભર્યું હોઈ શકે છે, ખાસ કરીને જ્યારે બેકએન્ડ સાચો વપરાશકર્તા ડેટા પરત કરતું હોય તેવું લાગે છે, પરંતુ સ્ટોર ક્રિયા હજુ પણ ભૂલ ફેંકે છે.
આ સમસ્યાને ઉકેલવા માટે, તેની નજીકથી તપાસ કરવી જરૂરી છે વપરાશકર્તા મોડલ વર્ગ અને ખાતરી કરો કે સ્ટોરની કાર્યવાહી માટે તમામ જરૂરી મિલકતો પૂરી પાડવામાં આવી રહી છે. ચાલો આ ભૂલની વિશિષ્ટતાઓમાં ડાઇવ કરીએ અને તેને અસરકારક રીતે કેવી રીતે ઉકેલી શકાય તેની ચર્ચા કરીએ.
આદેશ | ઉપયોગનું ઉદાહરણ |
---|---|
tap (RxJS) | આ ટેપ ઑપરેટરનો ઉપયોગ અવલોકનક્ષમ સ્ટ્રીમમાં આડ અસરો કરવા માટે થાય છે, જેમ કે સ્ટ્રીમના ડેટાને અસર કર્યા વિના, લોગીંગ અથવા ડિસ્પેચિંગ ક્રિયાઓ. અમારા કિસ્સામાં, ટૅપનો ઉપયોગ વપરાશકર્તા ઑબ્જેક્ટને લૉગ કરવા માટે થાય છે અને એકવાર વપરાશકર્તા ડેટા પ્રાપ્ત થઈ જાય તે પછી NgRx ક્રિયા મોકલવામાં આવે છે. |
dispatch (NgRx Store) | આ રવાનગી NgRx સ્ટેટ મેનેજમેન્ટ સિસ્ટમમાં ક્રિયાઓને ટ્રિગર કરવા માટે સ્ટોર ઇન્સ્ટન્સ પર ફંક્શનને બોલાવવામાં આવે છે. તેને પસાર કરવા માટે ક્રિયાની જરૂર છે, અને આ ઉદાહરણમાં, અમે બેકએન્ડમાંથી વપરાશકર્તા ડેટા સાથે StoreUser ક્રિયા મોકલીએ છીએ. |
props (NgRx Store) | પ્રોપ્સ અપેક્ષિત પેલોડ માળખું સ્પષ્ટ કરવા માટે NgRx ક્રિયાઓમાં વપરાય છે. આપેલ ક્રિયામાં, પ્રોપ્સ<{ user: UserModel }>() વ્યાખ્યાયિત કરે છે કે ક્રિયા અપેક્ષા રાખે છે વપરાશકર્તા મોડલ ઑબ્જેક્ટ તેના પેલોડ તરીકે, કડક પ્રકાર-તપાસને સક્ષમ કરે છે. |
HttpClient.post | આ HttpClient.post પદ્ધતિનો ઉપયોગ સર્વરને HTTP POST વિનંતી મોકલવા માટે થાય છે. અમારી સેવામાં, અમે તેનો ઉપયોગ વપરાશકર્તા ડેટાને બેકએન્ડ API પર પોસ્ટ કરવા માટે કરીએ છીએ. તે સામાન્ય છે અને અપેક્ષિત પ્રતિભાવ આકાર દર્શાવવા માટે ટાઇપ કરેલ છે, એટલે કે, <{ user: UserModel }>. |
Partial<T> (TypeScript) | આંશિક એક TypeScript ઉપયોગિતા પ્રકાર છે જે ઇન્ટરફેસ અથવા વર્ગના તમામ ગુણધર્મોને વૈકલ્પિક બનાવે છે. તે માં વપરાય છે વપરાશકર્તા મોડલ આરંભ દરમિયાન આંશિક વપરાશકર્તા ડેટાને સુરક્ષિત રીતે હેન્ડલ કરવા માટે વર્ગ કન્સ્ટ્રક્ટર. |
spyOn (Jasmine) | આ જાસૂસી ચકાસણી માટે ફંક્શનનો ઉપયોગ પદ્ધતિનું મોક વર્ઝન બનાવવા માટે થાય છે. અમારા યુનિટ ટેસ્ટમાં, અમે ડિસ્પેચ મેથડની મજાક કરવા અને તેને સાચા પેરામીટર્સ સાથે કૉલ કરવામાં આવ્યો હતો તે ચકાસવા માટે spyOn નો ઉપયોગ કરીએ છીએ. |
HttpTestingController | આ HttpTestingController કોણીય પરીક્ષણ ફ્રેમવર્કનો એક ભાગ છે, જેનો ઉપયોગ એકમ પરીક્ષણોમાં HTTP વિનંતીઓની ઉપહાસ અને ચકાસણી કરવા માટે થાય છે. સાઇનઅપ URL પર પોસ્ટ વિનંતીનું અનુકરણ કરવા અને ચકાસવા માટે અમારા પરીક્ષણોમાં તેનો ઉપયોગ થાય છે. |
expectOne (HttpTestingController) | આ અપેક્ષા એક પદ્ધતિ એ કોણીયમાં HttpTestingController નો એક ભાગ છે, જે ચોક્કસ માપદંડ સાથે એક HTTP વિનંતી કરવામાં આવી હતી કે કેમ તે તપાસે છે. અમારા યુનિટ ટેસ્ટમાં, તે ખાતરી કરે છે કે અમારી સેવા સાઇનઅપ દરમિયાન યોગ્ય API કૉલ કરે છે. |
કોણીય એપ્લિકેશન્સમાં NgRx પ્રકારની ભૂલોનું મુશ્કેલીનિવારણ
ઉદાહરણમાં બનાવેલ સ્ક્રિપ્ટો કોણીય પ્રોજેક્ટનો ઉપયોગ કરીને સામાન્ય સમસ્યાને સંબોધિત કરે છે એનજીઆરએક્સ રાજ્ય વ્યવસ્થાપન માટે. પ્રદાન કરેલી સેવામાં, ઉદ્દેશ્ય વપરાશકર્તાને સાઇન અપ કરવાનો, બેકએન્ડમાંથી ડેટા પ્રાપ્ત કરવાનો અને પછી તે ડેટાને NgRx સ્ટોર ક્રિયામાં મોકલવાનો છે. જો કે, પ્રાપ્ત કરેલ વપરાશકર્તા ડેટાને ડિસ્પેચ કરવાનો પ્રયાસ કરતી વખતે એક પ્રકારની ભૂલ થાય છે. આ ભૂલ ની અપેક્ષિત ગુણધર્મો વચ્ચે મેળ ખાતી નથી વપરાશકર્તા મોડલ અને મોકલેલ પદાર્થ. આ સમસ્યાનું વિચ્છેદન કરીને અને TypeScript જેવી સુવિધાઓનો ઉપયોગ કરીને આંશિક, અમારો હેતુ ભૂલને ઉકેલતી વખતે પ્રકારની સલામતી સુનિશ્ચિત કરવાનો છે.
મુખ્ય સ્ક્રિપ્ટ વપરાશકર્તા સેવા દર્શાવે છે, જે કોણીયનો ઉપયોગ કરે છે HttpClient POST વિનંતી કરવા માટે, સર્વર પર વપરાશકર્તા ડેટા મોકલીને. જ્યારે પ્રતિસાદ પ્રાપ્ત થાય છે, ત્યારે ટેપ ઓપરેટરનો ઉપયોગ પ્રાપ્ત વપરાશકર્તા ડેટાને લોગ કરવા અને તેને NgRx ક્રિયામાં મોકલવા માટે થાય છે. ડિસ્પેચ ફંક્શનને એક્શનની પ્રોપ્સ ડેફિનેશન દ્વારા ઉલ્લેખિત સ્ટ્રક્ચર સાથે મેચ કરવા માટે પેલોડની જરૂર છે. તેથી, ઉકેલમાં એ સુનિશ્ચિત કરવાનો સમાવેશ થાય છે કે સર્વરમાંથી પ્રાપ્ત થયેલ ડેટા વ્યાખ્યાયિત સાથે મેળ ખાય છે વપરાશકર્તા મોડલ ઇન્ટરફેસ જો જરૂરી હોય તો તમામ જરૂરી પ્રોપર્ટીઝને સમાવવા માટે યુઝર ડેટાને ચેક કરીને અને પુનઃનિર્માણ કરીને આ પ્રાપ્ત થાય છે.
માં વપરાશકર્તા મોડલ વર્ગમાં, કન્સ્ટ્રક્ટરનો ઉપયોગ ગુણધર્મોને પ્રારંભ કરવા અને ગુમ થયેલ ક્ષેત્રોને હેન્ડલ કરવા માટે થાય છે આંશિક ઉપયોગિતા પ્રકાર. આ અભિગમ TypeScript ની પ્રકાર સલામતીનું ઉલ્લંઘન કર્યા વિના ફક્ત આંશિક ડેટા સાથે વપરાશકર્તા ઉદાહરણો બનાવવાની મંજૂરી આપે છે. તમામ વપરાશકર્તા ફીલ્ડ્સને ડિફોલ્ટ મૂલ્યો સાથે વ્યાખ્યાયિત કરીને અને કોઈપણ ખૂટતી મિલકતો ભરવા માટે કન્સ્ટ્રક્ટરનો ઉપયોગ કરીને, અમે ખાતરી કરીએ છીએ કે મોકલેલ વપરાશકર્તા ઑબ્જેક્ટ NgRx સ્ટોર ક્રિયાના અપેક્ષિત માળખાને પૂર્ણ કરે છે. આ ગુમ થયેલ ક્ષેત્રોને કારણે થતી ભૂલને અસરકારક રીતે ઉકેલે છે.
છેલ્લે, ઉકેલનો મુખ્ય ભાગ પરીક્ષણ છે. ઉદાહરણમાં કોણીયનો ઉપયોગ કરીને લખવામાં આવેલા એકમ પરીક્ષણોનો સમાવેશ થાય છે જાસ્મીન ફ્રેમવર્ક, સેવાની વર્તણૂકની ચકાસણી અને યોગ્ય વપરાશકર્તા ડેટાની રવાનગી. આ HttpTestingController પરીક્ષણ દરમિયાન API કૉલ્સના સિમ્યુલેશન માટે પરવાનગી આપતા HTTP વિનંતીઓનો ઉપહાસ કરવા માટે ઉપયોગ થાય છે. આ પરીક્ષણોમાં, અમે તપાસ કરીએ છીએ કે શું ડિસ્પેચ ફંક્શનને યોગ્ય પરિમાણો સાથે કૉલ કરવામાં આવ્યો છે અને માન્ય કરીએ છીએ કે API કૉલ્સ અપેક્ષા મુજબ કાર્ય કરી રહ્યાં છે. આ પરીક્ષણો કોડબેઝમાં વિશ્વસનીયતા અને સુસંગતતા જાળવવામાં મદદ કરે છે જ્યારે પ્રકાર ભૂલોને સંપૂર્ણ રીતે ઉકેલવામાં આવે છે તેની ખાતરી કરે છે.
કોણીયમાં NgRx પ્રકારની ભૂલને સમજવી અને ઉકેલવી
NgRx ડિસ્પેચ સાથે કોણીય ફ્રન્ટએન્ડ સેવા
// Service to handle user sign-up and dispatch to NgRx store
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Store } from '@ngrx/store';
import { tap } from 'rxjs/operators';
import { StoreUser } from './user.actions';
import { UserModel } from './user.model';
@Injectable({ providedIn: 'root' })
export class UserService {
private url = 'https://api.example.com/signup';
constructor(private httpClient: HttpClient, private store: Store) {}
public signup = (user: UserModel) => {
console.log('UserService.user', user);
return this.httpClient.post<{ user: UserModel }>(this.url, { user })
.pipe(tap(response => {
console.log('UserService.user tap', response.user);
this.store.dispatch(StoreUser({ user: response.user }));
}));
};
}
કડક પ્રકાર તપાસ માટે રીફેક્ટરિંગ વપરાશકર્તા મોડેલ
TypeScript સાથે કોણીય વપરાશકર્તા મોડલ વર્ગ
// User model with a constructor for better data handling
export class UserModel {
public firstName: string = '';
public lastName: string = '';
public password: string = '';
public email: string = '';
public token: string = '';
constructor(data?: Partial<UserModel>) {
if (data) {
this.firstName = data.firstName || '';
this.lastName = data.lastName || '';
this.password = data.password || '';
this.email = data.email || '';
this.token = data.token || '';
}
}
}
ડિસ્પેચ ક્રિયાઓ માટે યુનિટ ટેસ્ટ બનાવવી
વપરાશકર્તા સેવા માટે કોણીય જાસ્મિન યુનિટ ટેસ્ટ
// Testing UserService signup and NgRx dispatch
import { TestBed } from '@angular/core/testing';
import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
import { provideMockStore } from '@ngrx/store/testing';
import { UserService } from './user.service';
import { StoreUser } from './user.actions';
describe('UserService', () => {
let service: UserService;
let httpMock: HttpTestingController;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [UserService, provideMockStore({})]
});
service = TestBed.inject(UserService);
httpMock = TestBed.inject(HttpTestingController);
});
it('should dispatch StoreUser action on signup', () => {
const mockUser = { firstName: 'John', lastName: 'Doe', email: 'john@example.com', password: '1234', token: 'abcd' };
spyOn(service['store'], 'dispatch');
service.signup(mockUser).subscribe();
const req = httpMock.expectOne('https://api.example.com/signup');
req.flush({ user: mockUser });
expect(service['store'].dispatch).toHaveBeenCalledWith(StoreUser({ user: mockUser }));
});
});
NgRx અને કોણીયમાં પ્રકાર સલામતી અને ડેટા માળખું સંભાળવું
માં NgRx સાથે કામ કરતી વખતે એક આવશ્યક પાસું કોણીય એ સુનિશ્ચિત કરે છે કે ઉપયોગમાં લેવાતા ડેટા સ્ટ્રક્ચર્સ એપ્લિકેશનની અપેક્ષા સાથે સુસંગત છે. અમારા ઉદાહરણ જેવી ક્રિયાઓ મોકલતી વખતે, પ્રકાર સલામતી નિર્ણાયક બની જાય છે. જો મોકલાયેલ ડેટા નિર્ધારિત પ્રકાર સાથે સંરેખિત થતો નથી, તો તે આવી ભૂલોમાં પરિણમે છે. આ સમસ્યા ઘણીવાર બેકએન્ડ API માંથી આંશિક અથવા ખોટો ડેટા પ્રાપ્ત કરવાથી અથવા તમારા મૉડલ્સમાં પ્રોપર્ટીઝને યોગ્ય રીતે શરૂ ન કરવાને કારણે થાય છે.
આ સમસ્યાઓને ટાળવા માટે, વિકાસકર્તાઓએ સારી રીતે વ્યાખ્યાયિત મોડેલો અને ક્રિયાઓ બનાવવા પર ધ્યાન કેન્દ્રિત કરવું જોઈએ જે પ્રકારની સલામતીને લાગુ કરે છે. TypeScript ઉપયોગિતા પ્રકારો જેમ કે આંશિક અધૂરા ડેટાને વધુ સુંદર રીતે હેન્ડલ કરવામાં મદદ કરે છે, પરંતુ જો વ્યૂહાત્મક રીતે ઉપયોગ કરવામાં આવે તો જ. NgRx ક્રિયાઓ સાથે કામ કરતી વખતે, ક્રિયાઓમાં મજબૂત ટાઈપિંગ સેટ કરો props અને મોડેલોમાં સ્પષ્ટ પ્રકારની વ્યાખ્યાઓ પ્રદાન કરવાથી પ્રકારની ભૂલોને નોંધપાત્ર રીતે ઘટાડી શકાય છે. વધુમાં, વર્ગોમાં કન્સ્ટ્રક્ટરનો ઉપયોગ ડિફૉલ્ટ મૂલ્યો શરૂ કરવા અને ગુમ થયેલ ગુણધર્મોને સમસ્યાઓ ઊભી કરવાથી અટકાવવા માટે થઈ શકે છે.
ધ્યાનમાં લેવાનું બીજું પાસું એ ડેટા ફ્લોના બહુવિધ તબક્કાઓ પર માન્યતા છે. સ્ટોર પર કોઈ ક્રિયા મોકલતા પહેલા, તે સુનિશ્ચિત કરવું મહત્વપૂર્ણ છે કે તમારા HTTP કૉલ્સમાંથી પ્રતિસાદ ડેટા માન્ય છે અથવા આવશ્યકતા મુજબ રૂપાંતરિત છે. એકમ પરીક્ષણો આ સંદર્ભમાં મહત્વપૂર્ણ ભૂમિકા ભજવે છે, કારણ કે તે તમને ખાતરી કરવા દે છે કે તમામ અપેક્ષિત ડેટા ફીલ્ડ હાજર છે અને યોગ્ય રીતે ફોર્મેટ કરેલ છે. આ પ્રેક્ટિસ ડેટાની અખંડિતતા જાળવવામાં અને ગુમ અથવા ખોટી પ્રોપર્ટીઝને કારણે રનટાઇમ ભૂલોને ટાળવામાં મદદ કરે છે.
NgRx પ્રકાર સલામતી અને કોણીયમાં ક્રિયાઓ પર વારંવાર પૂછાતા પ્રશ્નો
- NgRx માં ક્રિયાઓ મોકલતી વખતે પ્રકારની ભૂલોનું કારણ શું છે?
- પ્રકાર ભૂલો સામાન્ય રીતે ત્યારે થાય છે જ્યારે પેલોડ ડેટા માળખું ક્રિયાની પ્રકાર વ્યાખ્યા સાથે મેળ ખાતું નથી props. જો બેકએન્ડમાંથી પરત કરવામાં આવેલ ડેટામાં જરૂરી ગુણધર્મોનો અભાવ હોય તો આવું થઈ શકે છે.
- NgRx ક્રિયાઓમાં ગુમ થયેલ મિલકતની ભૂલોને હું કેવી રીતે ઉકેલી શકું?
- ખાતરી કરો કે તમારા મોડેલ વર્ગમાં તમામ જરૂરી ગુણધર્મો શામેલ છે અને TypeScript નો ઉપયોગ કરો Partial જો કેટલીક મિલકતો વૈકલ્પિક અથવા ખૂટતી હોય તો લખો. તમે ડેટાને સ્ટોર પર મોકલતા પહેલા તેને માન્ય અને રૂપાંતરિત પણ કરી શકો છો.
- ઉપયોગ શું છે tap HTTP અવલોકનક્ષમ માં?
- tap એક RxJS ઓપરેટર છે જે તમને અવલોકનક્ષમ ડેટા ફ્લોમાં ફેરફાર કર્યા વિના કોઈ ક્રિયાને લોગીંગ અથવા ડિસ્પેચ કરવા જેવી આડઅસરો કરવા દે છે.
- કેવી રીતે કરે છે props કાર્ય NgRx ક્રિયાઓમાં પ્રકાર સલામતી સુધારે છે?
- props ક્રિયા દ્વારા અપેક્ષિત પેલોડ માળખું સ્પષ્ટપણે વ્યાખ્યાયિત કરે છે, રનટાઈમ ભૂલોને અટકાવીને, પેલોડ આ બંધારણ સાથે મેળ ખાય છે કે કેમ તે ચકાસવા માટે TypeScript સક્ષમ કરે છે.
- ડિસ્પેચ ક્રિયાઓ માટે મારે શા માટે એકમ પરીક્ષણોનો ઉપયોગ કરવો જોઈએ?
- એકમ પરીક્ષણો ચકાસે છે કે સેવા યોગ્ય રીતે API પ્રતિસાદોને હેન્ડલ કરે છે અને જીવંત વાતાવરણને અસર કર્યા વિના વાસ્તવિક દૃશ્યોનું અનુકરણ કરવા માટે મૉક પ્રતિસાદોનો ઉપયોગ કરીને સચોટ ડેટા સાથે યોગ્ય ક્રિયા મોકલે છે.
પ્રકારની ભૂલોને હેન્ડલ કરવા માટે મુખ્ય ઉપાયો
કોણીય અને સલામતીમાં ટાઇપ કરો એનજીઆરએક્સ વાસ્તવિક ડેટા સાથે મોડેલ વ્યાખ્યાઓને સંરેખિત કરવા પર આધાર રાખે છે. યોગ્ય રીતે વ્યાખ્યાયિત ક્રિયાઓ અને ટાઇપ-સેફ કન્સ્ટ્રક્ટર સામાન્ય સમસ્યાઓને ટાળવામાં મદદ કરે છે, એક સીમલેસ સ્ટેટ મેનેજમેન્ટ ફ્લો સુનિશ્ચિત કરે છે. અમલીકરણ એકમ પરીક્ષણો યોગ્ય વર્તન ચકાસવામાં અને છુપાયેલી ભૂલોને રોકવામાં મદદ કરે છે.
તમારા ડેટા મૉડલને કાળજીપૂર્વક માન્ય કરવું અને વિવિધ દૃશ્યોમાં પરીક્ષણ ક્રિયાઓ ઓછી ભૂલો અને વધુ વિશ્વસનીય એપ્લિકેશન તરફ દોરી જાય છે. તમારા મોડલ્સમાં તમામ જરૂરી ફીલ્ડ્સને હેન્ડલ કરવા અને તમારી એપ્લિકેશનની અપેક્ષાઓ સાથે મેળ કરવા માટે બેકએન્ડ પ્રતિસાદો યોગ્ય રીતે રૂપાંતરિત થાય છે તેની ખાતરી કરવી મહત્વપૂર્ણ છે.
સ્ત્રોતો અને સંદર્ભો
- આ લેખ સત્તાવાર કોણીય દસ્તાવેજોમાંથી આંતરદૃષ્ટિ અને માહિતીનો ઉપયોગ કરીને બનાવવામાં આવ્યો હતો. કોણીય સેવાઓ અને NgRx ક્રિયાઓ પર વધુ વિગતો માટે, આની મુલાકાત લો કોણીય દસ્તાવેજીકરણ .
- રાજ્ય વ્યવસ્થાપન અને સ્ટોર ખ્યાલોની વધુ સમજણ માટે, NgRx પુસ્તકાલય વ્યાપક દસ્તાવેજીકરણ પ્રદાન કરે છે, જે અહીં ઉપલબ્ધ છે. NgRx દસ્તાવેજીકરણ .
- TypeScript શ્રેષ્ઠ પ્રથાઓ અને ઉપયોગિતા પ્રકારો સત્તાવાર TypeScript હેન્ડબુકમાંથી સંદર્ભિત કરવામાં આવ્યા હતા. વધુ વિગતો પર મળી શકે છે TypeScript હેન્ડબુક .