Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | 1x 1x 1x 25x 25x 25x 1x 1x 1x 1x 1x 1x 5x 5x 5x 1x 1x 1x 1x 1x 1x 10x 10x 10x 1x | import {JSONFile, JSONObject} from './json_file';
export interface PackageJSONType extends JSONObject {
name: string;
description?: string;
version?: string;
main?: string;
bin?: string;
repository?: {type?: string; url?: string; directory?: string};
scripts?: {[key: string]: string};
devDependencies?: {[key: string]: string};
dependencies?: {[key: string]: string};
}
const defaults = {basename: 'package.json', defaultContent: '{}'};
export class PackageJSON extends JSONFile<PackageJSONType> {
constructor(public props?: ConstructorParameters<typeof JSONFile>[0]) {
super({...props, ...defaults});
this.props = {...props, ...defaults};
}
get name(): Promise<string> {
return (async () => {
return (await this.parsedContent).name;
})();
}
get description(): Promise<string | undefined> {
return (async () => {
return (await this.parsedContent).description;
})();
}
get version(): Promise<string | undefined> {
return (async () => {
return (await this.parsedContent).version;
})();
}
get main(): Promise<string | undefined> {
return (async () => {
return (await this.parsedContent).main;
})();
}
get bin(): Promise<string | undefined> {
return (async () => {
return (await this.parsedContent).bin;
})();
}
get dependencies(): Promise<{[k: string]: string}> {
return (async () => {
return (await this.parsedContent).dependencies || {};
})();
}
}
|