@puya/ts 1.1.0 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -119,3 +119,16 @@ if (result.success) {
119
119
  console.error('Failed to generate timestamp:', result.err);
120
120
  }
121
121
  ```
122
+
123
+ ### Variables
124
+
125
+ You can pass this variables:
126
+ ```javascript
127
+ locale: "en", // or "fa"
128
+ outputFileName: "output.json", //file will created at current dir
129
+ templatePath: "", //template file path
130
+ format: "YYYYMMDDHHmm", //timestamp format
131
+ inlineTemplate: "", //inline template (without path)
132
+ skipOutput: false
133
+ ```
134
+
package/Timestamper.js CHANGED
@@ -1,9 +1,9 @@
1
1
  const path = require("path");
2
2
  const fs = require("fs");
3
3
  const moment = require("jalali-moment");
4
- const package = require('./package.json');
4
+ const _package = require('./package.json');
5
5
 
6
- const version = package.version;
6
+ const version = _package.version;
7
7
 
8
8
  let default_options = {
9
9
  locale: "en",
@@ -31,30 +31,30 @@ function start(args) {
31
31
 
32
32
  try {
33
33
  const options = Array.isArray(args) ? parseArguments(args) : args;
34
-
34
+
35
35
  if (args.length !== 0) {
36
36
  result.state = validateOptions(Object.assign(default_options, options));
37
37
  } else {
38
38
  result.state = "successful";
39
39
  }
40
-
40
+
41
41
  if (result.state === "successful") {
42
42
  result.options = Object.assign(default_options, options);
43
-
43
+
44
44
  if (default_options.version === true) {
45
45
  console.log(version);
46
46
  } else {
47
-
47
+
48
48
  const ts = generateTimestamp(options.locale, options.format);
49
49
  const data = generateData(ts, result.options);
50
-
50
+
51
51
  if (!options.skipOutput) {
52
52
  writeOutput(data, result.options.outPutFilePath);
53
53
  }
54
54
 
55
55
  result.data = data;
56
56
  }
57
-
57
+
58
58
  result.success = true;
59
59
  }
60
60
  } catch (ex) {
@@ -114,9 +114,9 @@ function parseArguments(args) {
114
114
  default_options.hasInlineTemplate = true;
115
115
  i += 2;
116
116
  break;
117
- case '-v':
118
- default_options.version = true;
119
- i++;
117
+ case '-v':
118
+ default_options.version = true;
119
+ i++;
120
120
  break;
121
121
  default:
122
122
  throw new Error(`Invalid argument provided: ${args[i]}`);
@@ -133,33 +133,33 @@ function validateOptions(options) {
133
133
  if (options.skipOutput && !options.outPutFilePath) {
134
134
  throw new TimestampError("output_confusion", `Please make up your mind buddy. Do you want me to generate the output for you or not?`);
135
135
  }
136
-
136
+
137
137
  Object.entries(options).forEach(([key, value]) => {
138
138
  if (value === undefined) {
139
139
  throw new TimestampError(`${key}_required`, `${key} is required after -${key.slice(0, 1)}`);
140
140
  }
141
141
  });
142
-
142
+
143
143
  // if (!fileRegex.test(path.basename(options.outPutFilePath))) {
144
144
  // throw new TimestampError("invalid_filename", `Please enter a valid file name.`);
145
145
  // }
146
-
146
+
147
147
  if (options.templatePath && !fs.existsSync(options.templatePath)) {
148
148
  throw new TimestampError("template_not_exists", `Template file does not exist.`);
149
149
  }
150
-
150
+
151
151
  if (!isValidDateFormat(options.format)) {
152
152
  throw new TimestampError("invalid_format", `Please enter a valid format.`);
153
153
  }
154
-
154
+
155
155
  if (options.inlineTemplate !== "") {
156
156
  options.hasInlineTemplate = true;
157
157
  }
158
-
158
+
159
159
  if (options.hasInlineTemplate && options.inlineTemplate === "") {
160
160
  throw new TimestampError("invalid_inline_template", `Please provide a valid inline template.`);
161
161
  }
162
-
162
+
163
163
  if (options.templatePath && options.inlineTemplate != "") {
164
164
  throw new TimestampError("extra_template", `You can use only one template.`);
165
165
  }
@@ -172,7 +172,7 @@ function generateTimestamp(locale, format) {
172
172
  return moment().locale(locale).format(format);
173
173
  }
174
174
 
175
- function generateData(ts, {template, templatePath, inlineTemplate, hasInlineTemplate}) {
175
+ function generateData(ts, { template, templatePath, inlineTemplate, hasInlineTemplate }) {
176
176
  let data;
177
177
 
178
178
  if (hasInlineTemplate) {
package/index.js CHANGED
@@ -2,4 +2,5 @@ const { ts } = require('./Timestamper')
2
2
  const cli = require('./TimestamperCLI');
3
3
 
4
4
  module.exports.Timestamper = ts;
5
- module.exports.TimestamperCLI = TimestamperCLI;
5
+ module.exports.ts = ts;
6
+ module.exports.TimestamperCLI = cli;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@puya/ts",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "This library provides timestamp and supports custom templates for its output file.",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -35,4 +35,4 @@
35
35
  "TimestamperCLI.js",
36
36
  "bin/ts"
37
37
  ]
38
- }
38
+ }