UNPKG

1.18 kBPlain TextView Raw
1import * as _ from 'lodash';
2import { IApiSourceResult } from './api-source-result.interface';
3
4const AngularAPIs: Array<IAngularMainApi> = require('../src/data/api-list.json');
5
6export class AngularApiUtil {
7 private static instance: AngularApiUtil;
8 private constructor() {}
9 public static getInstance() {
10 if (!AngularApiUtil.instance) {
11 AngularApiUtil.instance = new AngularApiUtil();
12 }
13 return AngularApiUtil.instance;
14 }
15
16 public findApi(type: string): IApiSourceResult<IAngularMainApi> {
17 let foundedApi;
18 _.forEach(AngularAPIs, mainApi => {
19 _.forEach(mainApi.items, api => {
20 if (api.title === type) {
21 foundedApi = api;
22 }
23 });
24 });
25 return {
26 source: 'external',
27 data: foundedApi
28 };
29 }
30}
31
32export default AngularApiUtil.getInstance();
33
34export interface IAngularMainApi {
35 title: string;
36 name: string;
37 items: IAngularApi[];
38}
39
40export interface IAngularApi {
41 title: string;
42 path: string;
43 docType: string;
44 stability: string;
45 secure: string;
46 barrel: string;
47}