{"version":3,"file":"package_json.js","sourceRoot":"","sources":["../src/package_json.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAiD;AAcjD,IAAM,QAAQ,GAAG,EAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,IAAI,EAAC,CAAC;AAElE;IAAiC,+BAAyB;IACxD,qBAAmB,KAAiD;QAApE,YACE,wCAAU,KAAK,GAAK,QAAQ,EAAE,SAE/B;QAHkB,WAAK,GAAL,KAAK,CAA4C;QAElE,KAAI,CAAC,KAAK,yBAAO,KAAK,GAAK,QAAQ,CAAC,CAAC;;IACvC,CAAC;IACD,sBAAI,6BAAI;aAAR;YAAA,iBAIC;YAHC,OAAO,CAAC;;;gCACE,qBAAM,IAAI,CAAC,aAAa,EAAA;gCAAhC,sBAAO,CAAC,SAAwB,CAAC,CAAC,IAAI,EAAC;;;iBACxC,CAAC,EAAE,CAAC;QACP,CAAC;;;OAAA;IACD,sBAAI,oCAAW;aAAf;YAAA,iBAIC;YAHC,OAAO,CAAC;;;gCACE,qBAAM,IAAI,CAAC,aAAa,EAAA;gCAAhC,sBAAO,CAAC,SAAwB,CAAC,CAAC,WAAW,EAAC;;;iBAC/C,CAAC,EAAE,CAAC;QACP,CAAC;;;OAAA;IACD,sBAAI,gCAAO;aAAX;YAAA,iBAIC;YAHC,OAAO,CAAC;;;gCACE,qBAAM,IAAI,CAAC,aAAa,EAAA;gCAAhC,sBAAO,CAAC,SAAwB,CAAC,CAAC,OAAO,EAAC;;;iBAC3C,CAAC,EAAE,CAAC;QACP,CAAC;;;OAAA;IACD,sBAAI,6BAAI;aAAR;YAAA,iBAIC;YAHC,OAAO,CAAC;;;gCACE,qBAAM,IAAI,CAAC,aAAa,EAAA;gCAAhC,sBAAO,CAAC,SAAwB,CAAC,CAAC,IAAI,EAAC;;;iBACxC,CAAC,EAAE,CAAC;QACP,CAAC;;;OAAA;IACD,sBAAI,4BAAG;aAAP;YAAA,iBAIC;YAHC,OAAO,CAAC;;;gCACE,qBAAM,IAAI,CAAC,aAAa,EAAA;gCAAhC,sBAAO,CAAC,SAAwB,CAAC,CAAC,GAAG,EAAC;;;iBACvC,CAAC,EAAE,CAAC;QACP,CAAC;;;OAAA;IACD,sBAAI,qCAAY;aAAhB;YAAA,iBAIC;YAHC,OAAO,CAAC;;;gCACE,qBAAM,IAAI,CAAC,aAAa,EAAA;gCAAhC,sBAAO,CAAC,SAAwB,CAAC,CAAC,YAAY,IAAI,EAAE,EAAC;;;iBACtD,CAAC,EAAE,CAAC;QACP,CAAC;;;OAAA;IACH,kBAAC;AAAD,CAAC,AAnCD,CAAiC,oBAAQ,GAmCxC;AAnCY,kCAAW","sourcesContent":["import {JSONFile, JSONObject} from './json_file';\n\nexport interface PackageJSONType extends JSONObject {\n name: string;\n description?: string;\n version?: string;\n main?: string;\n bin?: string;\n repository?: {type?: string; url?: string; directory?: string};\n scripts?: {[key: string]: string};\n devDependencies?: {[key: string]: string};\n dependencies?: {[key: string]: string};\n}\n\nconst defaults = {basename: 'package.json', defaultContent: '{}'};\n\nexport class PackageJSON extends JSONFile {\n constructor(public props?: ConstructorParameters[0]) {\n super({...props, ...defaults});\n this.props = {...props, ...defaults};\n }\n get name(): Promise {\n return (async () => {\n return (await this.parsedContent).name;\n })();\n }\n get description(): Promise {\n return (async () => {\n return (await this.parsedContent).description;\n })();\n }\n get version(): Promise {\n return (async () => {\n return (await this.parsedContent).version;\n })();\n }\n get main(): Promise {\n return (async () => {\n return (await this.parsedContent).main;\n })();\n }\n get bin(): Promise {\n return (async () => {\n return (await this.parsedContent).bin;\n })();\n }\n get dependencies(): Promise<{[k: string]: string}> {\n return (async () => {\n return (await this.parsedContent).dependencies || {};\n })();\n }\n}\n"]}