Skip to content
This repository was archived by the owner on Feb 2, 2021. It is now read-only.

Share properties-parser npm between NativeScript & Cordova CLIs #24

Merged
merged 1 commit into from
Aug 7, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions bootstrap.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,6 @@ $injector.require("cancellation", "./common/services/cancellation");
$injector.require("httpClient", "./common/http-client");
$injector.require("childProcess", "./common/child-process");
$injector.require("projectHelper", "./common/project-helper");
$injector.require("propertiesParser", "./commmon/properties-parser");

$injector.requireCommand(["help", "/?"], "./common/commands/help");
7 changes: 6 additions & 1 deletion declarations.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,9 @@ interface IChildProcess {
interface IProjectHelper {
projectDir: string;
generateDefaultAppId(appName: string): string;
}
}

interface IPropertiesParser {
parse(text: string): any;
createEditor(filePath: string): IFuture<any>;
}
4 changes: 4 additions & 0 deletions definitions/properties-parser.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
declare module "properties-parser" {
function parse(text: string): any;
function createEditor(path: string, callback: (err: IErrors, data: any) => void);
}
24 changes: 24 additions & 0 deletions properties-parser.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
///<reference path="../.d.ts"/>

import propertiesParser = require("properties-parser");
import Future = require("fibers/future");

export class PropertiesParser implements IPropertiesParser {
public parse(text: string): any {
return propertiesParser.parse(text);
}

public createEditor(filePath: string) {
var future = new Future<any>();
propertiesParser.createEditor(filePath, (err, data) => {
if(err) {
future.throw(err);
} else {
future.return(data);
}
});

return future;
}
}
$injector.register("propertiesParser", PropertiesParser);