tr-currency 1.0.1 → 18.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -34,7 +34,7 @@ imports: [
34
34
 
35
35
  ## Output
36
36
  ```typescript
37
- 14505.50 ==> 14.505,00
37
+ 14505.50 ==> 14.505,50
38
38
  ```
39
39
 
40
40
  ## Usage
@@ -45,5 +45,20 @@ imports: [
45
45
 
46
46
  ## Output
47
47
  ```typescript
48
- 14505.50 ==> ₺14.505,00
48
+ 14505.50 ==> ₺14.505,50
49
+ ```
50
+
51
+ ## Usage
52
+ ```typescript
53
+ //If you want the more or less fraction, you can stil do it with a parameter.
54
+ {{money | trCurrency : '₺' : true, 1}}
55
+ {{money | trCurrency : '₺' : true, 2}}
56
+ {{money | trCurrency : '₺' : true, 3}}
57
+ ```
58
+
59
+ ## Output
60
+ ```typescript
61
+ 14505.50 ==> ₺14.505,5
62
+ 14505.50 ==> ₺14.505,50
63
+ 14505.50 ==> ₺14.505,500
49
64
  ```
@@ -1,27 +1,25 @@
1
1
  import { Pipe } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class TrCurrencyPipe {
4
- transform(value, symbol = "", isCurrencyFront = false) {
4
+ transform(value, symbol = "", isCurrencyFront = true, fraction = 2) {
5
+ if (fraction < 0)
6
+ fraction = 0;
5
7
  if (value == 0) {
6
- return "0,00 " + symbol;
8
+ return `0,${'0'.repeat(fraction)} ${symbol}`;
7
9
  }
8
10
  let isValueNegative = false;
9
11
  if (value < 0) {
10
12
  isValueNegative = true;
11
13
  value *= -1;
12
14
  }
15
+ value = parseFloat(value.toFixed(fraction)); // Küsuratları yuvarlama
13
16
  let money = value.toString().split(".");
14
17
  let newMoney = "";
15
18
  let lira = money[0];
16
- let penny = "00";
17
- if (money.length > 1) {
18
- penny = money[1];
19
- if (penny.length == 1) {
20
- penny = penny + "0";
21
- }
22
- if (penny.length > 1) {
23
- penny = this.convertNumber(+penny).toString();
24
- }
19
+ let penny = money.length > 1 ? money[1] : "";
20
+ // Küsuratları doğru uzunlukta yapma
21
+ if (penny.length < fraction) {
22
+ penny = penny + "0".repeat(fraction - penny.length);
25
23
  }
26
24
  let count = 0;
27
25
  for (let i = lira.length; i > 0; i--) {
@@ -34,26 +32,27 @@ export class TrCurrencyPipe {
34
32
  count++;
35
33
  }
36
34
  }
37
- if (!isCurrencyFront)
38
- newMoney = `${newMoney},${penny} ${symbol}`;
39
- else
40
- newMoney = `${symbol}${newMoney},${penny}`;
35
+ if (!isCurrencyFront) {
36
+ if (fraction === 0) {
37
+ newMoney = `${newMoney} ${symbol}`;
38
+ }
39
+ else {
40
+ newMoney = `${newMoney},${penny} ${symbol}`;
41
+ }
42
+ }
43
+ else {
44
+ if (fraction === 0) {
45
+ newMoney = `${symbol}${newMoney}`;
46
+ }
47
+ else {
48
+ newMoney = `${symbol}${newMoney},${penny}`;
49
+ }
50
+ }
41
51
  if (isValueNegative) {
42
52
  newMoney = "-" + newMoney;
43
53
  }
44
54
  return newMoney;
45
55
  }
46
- convertNumber(value) {
47
- const stringValue = value.toString();
48
- if (stringValue.length > 2) {
49
- const remainingValue = parseInt(stringValue.substr(2));
50
- if (remainingValue > 5) {
51
- return parseInt(stringValue.substr(0, 2)) + 1;
52
- }
53
- return parseInt(stringValue.substr(0, 2));
54
- }
55
- return value;
56
- }
57
56
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TrCurrencyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
58
57
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: TrCurrencyPipe, isStandalone: true, name: "trCurrency" }); }
59
58
  }
@@ -64,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
64
63
  standalone: true
65
64
  }]
66
65
  }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHItY3VycmVuY3kucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL215LWxpYi9zcmMvbGliL3RyLWN1cnJlbmN5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxjQUFjO0lBRXpCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsU0FBaUIsRUFBRSxFQUFFLGtCQUEyQixLQUFLO1FBQzVFLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2YsT0FBTyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQzFCLENBQUM7UUFFRCxJQUFJLGVBQWUsR0FBVyxLQUFLLENBQUM7UUFDcEMsSUFBRyxLQUFLLEdBQUcsQ0FBQyxFQUFDLENBQUM7WUFDWixlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3ZDLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2hCLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDdEIsS0FBSyxHQUFHLEtBQUssR0FBRyxHQUFHLENBQUE7WUFDckIsQ0FBQztZQUVELElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDckIsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoRCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDckMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFBO2dCQUNyQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ1osQ0FBQztpQkFBSSxDQUFDO2dCQUNKLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQTtnQkFDL0IsS0FBSyxFQUFFLENBQUM7WUFDVixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUcsQ0FBQyxlQUFlO1lBQ2pCLFFBQVEsR0FBRyxHQUFHLFFBQVEsSUFBSSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7O1lBRTdDLFFBQVEsR0FBRyxHQUFHLE1BQU0sR0FBRyxRQUFRLElBQUksS0FBSyxFQUFFLENBQUM7UUFFNUMsSUFBRyxlQUFlLEVBQUMsQ0FBQztZQUNsQixRQUFRLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhO1FBQ3pCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RCxJQUFJLGNBQWMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEQsQ0FBQztZQUNELE9BQU8sUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0E1RFUsY0FBYzs0R0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUoxQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO29CQUNsQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3RyQ3VycmVuY3knLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyQ3VycmVuY3lQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogbnVtYmVyLCBzeW1ib2w6IHN0cmluZyA9IFwiXCIsIGlzQ3VycmVuY3lGcm9udDogYm9vbGVhbiA9IGZhbHNlKTogc3RyaW5nIHtcclxuICAgIGlmICh2YWx1ZSA9PSAwKSB7ICAgICAgICAgICAgXHJcbiAgICAgIHJldHVybiBcIjAsMDAgXCIgKyBzeW1ib2w7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGlzVmFsdWVOZWdhdGl2ZTpib29sZWFuID0gZmFsc2U7XHJcbiAgICBpZih2YWx1ZSA8IDApe1xyXG4gICAgICBpc1ZhbHVlTmVnYXRpdmUgPSB0cnVlO1xyXG4gICAgICB2YWx1ZSAqPSAtMTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbW9uZXkgPSB2YWx1ZS50b1N0cmluZygpLnNwbGl0KFwiLlwiKVxyXG4gICAgbGV0IG5ld01vbmV5ID0gXCJcIjtcclxuICAgIGxldCBsaXJhID0gbW9uZXlbMF07XHJcbiAgICBsZXQgcGVubnkgPSBcIjAwXCI7XHJcbiAgICBpZiAobW9uZXkubGVuZ3RoID4gMSkge1xyXG4gICAgICBwZW5ueSA9IG1vbmV5WzFdXHJcbiAgICAgIGlmIChwZW5ueS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIHBlbm55ID0gcGVubnkgKyBcIjBcIlxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocGVubnkubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIHBlbm55ID0gdGhpcy5jb252ZXJ0TnVtYmVyKCtwZW5ueSkudG9TdHJpbmcoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxldCBjb3VudCA9IDA7XHJcbiAgICBmb3IgKGxldCBpID0gbGlyYS5sZW5ndGg7IGkgPiAwOyBpLS0pIHsgICAgICBcclxuICAgICAgaWYgKGNvdW50ID09IDMgJiYgY291bnQgPCAobGlyYS5sZW5ndGgpKSB7XHJcbiAgICAgICAgbmV3TW9uZXkgPSBsaXJhW2ktMV0gKyBcIi5cIiArIG5ld01vbmV5IFxyXG4gICAgICAgIGNvdW50ID0gMTtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgbmV3TW9uZXkgPSBsaXJhW2ktMV0gKyBuZXdNb25leVxyXG4gICAgICAgIGNvdW50Kys7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZighaXNDdXJyZW5jeUZyb250KVxyXG4gICAgICBuZXdNb25leSA9IGAke25ld01vbmV5fSwke3Blbm55fSAke3N5bWJvbH1gO1xyXG4gICAgZWxzZSAgXHJcbiAgICAgbmV3TW9uZXkgPSBgJHtzeW1ib2x9JHtuZXdNb25leX0sJHtwZW5ueX1gO1xyXG5cclxuICAgIGlmKGlzVmFsdWVOZWdhdGl2ZSl7XHJcbiAgICAgIG5ld01vbmV5ID0gXCItXCIgKyBuZXdNb25leTtcclxuICAgIH0gICAgXHJcbiAgICByZXR1cm4gbmV3TW9uZXk7XHJcbiAgfSBcclxuXHJcbiAgY29udmVydE51bWJlcih2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHN0cmluZ1ZhbHVlID0gdmFsdWUudG9TdHJpbmcoKTtcclxuICAgIGlmIChzdHJpbmdWYWx1ZS5sZW5ndGggPiAyKSB7XHJcbiAgICAgIGNvbnN0IHJlbWFpbmluZ1ZhbHVlID0gcGFyc2VJbnQoc3RyaW5nVmFsdWUuc3Vic3RyKDIpKTtcclxuICAgICAgaWYgKHJlbWFpbmluZ1ZhbHVlID4gNSkge1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludChzdHJpbmdWYWx1ZS5zdWJzdHIoMCwgMikpICsgMTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gcGFyc2VJbnQoc3RyaW5nVmFsdWUuc3Vic3RyKDAsIDIpKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHItY3VycmVuY3kucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL215LWxpYi9zcmMvbGliL3RyLWN1cnJlbmN5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxjQUFjO0lBRXpCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsU0FBaUIsRUFBRSxFQUFFLGtCQUEyQixJQUFJLEVBQUUsV0FBa0IsQ0FBQztRQUNoRyxJQUFHLFFBQVEsR0FBRyxDQUFDO1lBQUUsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUU5QixJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNmLE9BQU8sS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQy9DLENBQUM7UUFFRCxJQUFJLGVBQWUsR0FBVyxLQUFLLENBQUM7UUFDcEMsSUFBRyxLQUFLLEdBQUcsQ0FBQyxFQUFDLENBQUM7WUFDWixlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNkLENBQUM7UUFFRCxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QjtRQUVyRSxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3ZDLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRTdDLG9DQUFvQztRQUNwQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsUUFBUSxFQUFFLENBQUM7WUFDNUIsS0FBSyxHQUFHLEtBQUssR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDckMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFBO2dCQUNyQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ1osQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQTtnQkFDL0IsS0FBSyxFQUFFLENBQUM7WUFDVixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUcsQ0FBQyxlQUFlLEVBQUMsQ0FBQztZQUNuQixJQUFHLFFBQVEsS0FBSyxDQUFDLEVBQUMsQ0FBQztnQkFDakIsUUFBUSxHQUFHLEdBQUcsUUFBUSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3JDLENBQUM7aUJBQUksQ0FBQztnQkFDSixRQUFRLEdBQUcsR0FBRyxRQUFRLElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzlDLENBQUM7UUFDSCxDQUFDO2FBQ0csQ0FBQztZQUNILElBQUcsUUFBUSxLQUFLLENBQUMsRUFBQyxDQUFDO2dCQUNqQixRQUFRLEdBQUcsR0FBRyxNQUFNLEdBQUcsUUFBUSxFQUFFLENBQUM7WUFDcEMsQ0FBQztpQkFBSSxDQUFDO2dCQUNKLFFBQVEsR0FBRyxHQUFHLE1BQU0sR0FBRyxRQUFRLElBQUksS0FBSyxFQUFFLENBQUM7WUFDN0MsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFHLGVBQWUsRUFBQyxDQUFDO1lBQ2xCLFFBQVEsR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDO1FBQzVCLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzhHQXpEVSxjQUFjOzRHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBSjFCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAndHJDdXJyZW5jeScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJDdXJyZW5jeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIsIHN5bWJvbDogc3RyaW5nID0gXCJcIiwgaXNDdXJyZW5jeUZyb250OiBib29sZWFuID0gdHJ1ZSwgZnJhY3Rpb246bnVtYmVyID0gMik6IHN0cmluZyB7XHJcbiAgICBpZihmcmFjdGlvbiA8IDApIGZyYWN0aW9uID0gMDtcclxuXHJcbiAgICBpZiAodmFsdWUgPT0gMCkgeyAgICAgIFxyXG4gICAgICByZXR1cm4gYDAsJHsnMCcucmVwZWF0KGZyYWN0aW9uKX0gJHtzeW1ib2x9YDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgaXNWYWx1ZU5lZ2F0aXZlOmJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGlmKHZhbHVlIDwgMCl7XHJcbiAgICAgIGlzVmFsdWVOZWdhdGl2ZSA9IHRydWU7XHJcbiAgICAgIHZhbHVlICo9IC0xO1xyXG4gICAgfVxyXG5cclxuICAgIHZhbHVlID0gcGFyc2VGbG9hdCh2YWx1ZS50b0ZpeGVkKGZyYWN0aW9uKSk7IC8vIEvDvHN1cmF0bGFyxLEgeXV2YXJsYW1hXHJcblxyXG4gICAgbGV0IG1vbmV5ID0gdmFsdWUudG9TdHJpbmcoKS5zcGxpdChcIi5cIilcclxuICAgIGxldCBuZXdNb25leSA9IFwiXCI7XHJcbiAgICBsZXQgbGlyYSA9IG1vbmV5WzBdO1xyXG4gICAgbGV0IHBlbm55ID0gbW9uZXkubGVuZ3RoID4gMSA/IG1vbmV5WzFdIDogXCJcIjtcclxuXHJcbiAgICAvLyBLw7xzdXJhdGxhcsSxIGRvxJ9ydSB1enVubHVrdGEgeWFwbWFcclxuICAgIGlmIChwZW5ueS5sZW5ndGggPCBmcmFjdGlvbikge1xyXG4gICAgICBwZW5ueSA9IHBlbm55ICsgXCIwXCIucmVwZWF0KGZyYWN0aW9uIC0gcGVubnkubGVuZ3RoKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgY291bnQgPSAwO1xyXG4gICAgZm9yIChsZXQgaSA9IGxpcmEubGVuZ3RoOyBpID4gMDsgaS0tKSB7ICAgICAgXHJcbiAgICAgIGlmIChjb3VudCA9PSAzICYmIGNvdW50IDwgKGxpcmEubGVuZ3RoKSkge1xyXG4gICAgICAgIG5ld01vbmV5ID0gbGlyYVtpLTFdICsgXCIuXCIgKyBuZXdNb25leSBcclxuICAgICAgICBjb3VudCA9IDE7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbmV3TW9uZXkgPSBsaXJhW2ktMV0gKyBuZXdNb25leVxyXG4gICAgICAgIGNvdW50Kys7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZighaXNDdXJyZW5jeUZyb250KXtcclxuICAgICAgaWYoZnJhY3Rpb24gPT09IDApe1xyXG4gICAgICAgIG5ld01vbmV5ID0gYCR7bmV3TW9uZXl9ICR7c3ltYm9sfWA7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIG5ld01vbmV5ID0gYCR7bmV3TW9uZXl9LCR7cGVubnl9ICR7c3ltYm9sfWA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2V7XHJcbiAgICAgIGlmKGZyYWN0aW9uID09PSAwKXtcclxuICAgICAgICBuZXdNb25leSA9IGAke3N5bWJvbH0ke25ld01vbmV5fWA7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIG5ld01vbmV5ID0gYCR7c3ltYm9sfSR7bmV3TW9uZXl9LCR7cGVubnl9YDtcclxuICAgICAgfSAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIGlmKGlzVmFsdWVOZWdhdGl2ZSl7XHJcbiAgICAgIG5ld01vbmV5ID0gXCItXCIgKyBuZXdNb25leTtcclxuICAgIH0gICAgXHJcbiAgICByZXR1cm4gbmV3TW9uZXk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -2,27 +2,25 @@ import * as i0 from '@angular/core';
2
2
  import { Pipe } from '@angular/core';
3
3
 
4
4
  class TrCurrencyPipe {
5
- transform(value, symbol = "", isCurrencyFront = false) {
5
+ transform(value, symbol = "", isCurrencyFront = true, fraction = 2) {
6
+ if (fraction < 0)
7
+ fraction = 0;
6
8
  if (value == 0) {
7
- return "0,00 " + symbol;
9
+ return `0,${'0'.repeat(fraction)} ${symbol}`;
8
10
  }
9
11
  let isValueNegative = false;
10
12
  if (value < 0) {
11
13
  isValueNegative = true;
12
14
  value *= -1;
13
15
  }
16
+ value = parseFloat(value.toFixed(fraction)); // Küsuratları yuvarlama
14
17
  let money = value.toString().split(".");
15
18
  let newMoney = "";
16
19
  let lira = money[0];
17
- let penny = "00";
18
- if (money.length > 1) {
19
- penny = money[1];
20
- if (penny.length == 1) {
21
- penny = penny + "0";
22
- }
23
- if (penny.length > 1) {
24
- penny = this.convertNumber(+penny).toString();
25
- }
20
+ let penny = money.length > 1 ? money[1] : "";
21
+ // Küsuratları doğru uzunlukta yapma
22
+ if (penny.length < fraction) {
23
+ penny = penny + "0".repeat(fraction - penny.length);
26
24
  }
27
25
  let count = 0;
28
26
  for (let i = lira.length; i > 0; i--) {
@@ -35,26 +33,27 @@ class TrCurrencyPipe {
35
33
  count++;
36
34
  }
37
35
  }
38
- if (!isCurrencyFront)
39
- newMoney = `${newMoney},${penny} ${symbol}`;
40
- else
41
- newMoney = `${symbol}${newMoney},${penny}`;
36
+ if (!isCurrencyFront) {
37
+ if (fraction === 0) {
38
+ newMoney = `${newMoney} ${symbol}`;
39
+ }
40
+ else {
41
+ newMoney = `${newMoney},${penny} ${symbol}`;
42
+ }
43
+ }
44
+ else {
45
+ if (fraction === 0) {
46
+ newMoney = `${symbol}${newMoney}`;
47
+ }
48
+ else {
49
+ newMoney = `${symbol}${newMoney},${penny}`;
50
+ }
51
+ }
42
52
  if (isValueNegative) {
43
53
  newMoney = "-" + newMoney;
44
54
  }
45
55
  return newMoney;
46
56
  }
47
- convertNumber(value) {
48
- const stringValue = value.toString();
49
- if (stringValue.length > 2) {
50
- const remainingValue = parseInt(stringValue.substr(2));
51
- if (remainingValue > 5) {
52
- return parseInt(stringValue.substr(0, 2)) + 1;
53
- }
54
- return parseInt(stringValue.substr(0, 2));
55
- }
56
- return value;
57
- }
58
57
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TrCurrencyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
59
58
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: TrCurrencyPipe, isStandalone: true, name: "trCurrency" }); }
60
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tr-currency.mjs","sources":["../../../projects/my-lib/src/lib/tr-currency.pipe.ts","../../../projects/my-lib/src/public-api.ts","../../../projects/my-lib/src/tr-currency.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'trCurrency',\r\n standalone: true\r\n})\r\nexport class TrCurrencyPipe implements PipeTransform {\r\n\r\n transform(value: number, symbol: string = \"\", isCurrencyFront: boolean = false): string {\r\n if (value == 0) { \r\n return \"0,00 \" + symbol;\r\n }\r\n\r\n let isValueNegative:boolean = false;\r\n if(value < 0){\r\n isValueNegative = true;\r\n value *= -1;\r\n }\r\n\r\n let money = value.toString().split(\".\")\r\n let newMoney = \"\";\r\n let lira = money[0];\r\n let penny = \"00\";\r\n if (money.length > 1) {\r\n penny = money[1]\r\n if (penny.length == 1) {\r\n penny = penny + \"0\"\r\n }\r\n\r\n if (penny.length > 1) {\r\n penny = this.convertNumber(+penny).toString();\r\n }\r\n }\r\n\r\n let count = 0;\r\n for (let i = lira.length; i > 0; i--) { \r\n if (count == 3 && count < (lira.length)) {\r\n newMoney = lira[i-1] + \".\" + newMoney \r\n count = 1;\r\n }else{\r\n newMoney = lira[i-1] + newMoney\r\n count++;\r\n }\r\n }\r\n\r\n if(!isCurrencyFront)\r\n newMoney = `${newMoney},${penny} ${symbol}`;\r\n else \r\n newMoney = `${symbol}${newMoney},${penny}`;\r\n\r\n if(isValueNegative){\r\n newMoney = \"-\" + newMoney;\r\n } \r\n return newMoney;\r\n } \r\n\r\n convertNumber(value: number): number {\r\n const stringValue = value.toString();\r\n if (stringValue.length > 2) {\r\n const remainingValue = parseInt(stringValue.substr(2));\r\n if (remainingValue > 5) {\r\n return parseInt(stringValue.substr(0, 2)) + 1;\r\n }\r\n return parseInt(stringValue.substr(0, 2));\r\n }\r\n return value;\r\n }\r\n\r\n}\r\n","/*\r\n * Public API Surface of my-lib\r\n */\r\n\r\nexport * from './lib/tr-currency.pipe';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tr-currency.mjs","sources":["../../../projects/my-lib/src/lib/tr-currency.pipe.ts","../../../projects/my-lib/src/public-api.ts","../../../projects/my-lib/src/tr-currency.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'trCurrency',\r\n standalone: true\r\n})\r\nexport class TrCurrencyPipe implements PipeTransform {\r\n\r\n transform(value: number, symbol: string = \"\", isCurrencyFront: boolean = true, fraction:number = 2): string {\r\n if(fraction < 0) fraction = 0;\r\n\r\n if (value == 0) { \r\n return `0,${'0'.repeat(fraction)} ${symbol}`;\r\n }\r\n\r\n let isValueNegative:boolean = false;\r\n if(value < 0){\r\n isValueNegative = true;\r\n value *= -1;\r\n }\r\n\r\n value = parseFloat(value.toFixed(fraction)); // Küsuratları yuvarlama\r\n\r\n let money = value.toString().split(\".\")\r\n let newMoney = \"\";\r\n let lira = money[0];\r\n let penny = money.length > 1 ? money[1] : \"\";\r\n\r\n // Küsuratları doğru uzunlukta yapma\r\n if (penny.length < fraction) {\r\n penny = penny + \"0\".repeat(fraction - penny.length);\r\n }\r\n\r\n let count = 0;\r\n for (let i = lira.length; i > 0; i--) { \r\n if (count == 3 && count < (lira.length)) {\r\n newMoney = lira[i-1] + \".\" + newMoney \r\n count = 1;\r\n } else {\r\n newMoney = lira[i-1] + newMoney\r\n count++;\r\n }\r\n }\r\n\r\n if(!isCurrencyFront){\r\n if(fraction === 0){\r\n newMoney = `${newMoney} ${symbol}`;\r\n }else{\r\n newMoney = `${newMoney},${penny} ${symbol}`;\r\n }\r\n }\r\n else{\r\n if(fraction === 0){\r\n newMoney = `${symbol}${newMoney}`;\r\n }else{\r\n newMoney = `${symbol}${newMoney},${penny}`;\r\n } \r\n }\r\n\r\n if(isValueNegative){\r\n newMoney = \"-\" + newMoney;\r\n } \r\n return newMoney;\r\n }\r\n}\r\n","/*\r\n * Public API Surface of my-lib\r\n */\r\n\r\nexport * from './lib/tr-currency.pipe';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import { PipeTransform } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TrCurrencyPipe implements PipeTransform {
4
- transform(value: number, symbol?: string, isCurrencyFront?: boolean): string;
5
- convertNumber(value: number): number;
4
+ transform(value: number, symbol?: string, isCurrencyFront?: boolean, fraction?: number): string;
6
5
  static ɵfac: i0.ɵɵFactoryDeclaration<TrCurrencyPipe, never>;
7
6
  static ɵpipe: i0.ɵɵPipeDeclaration<TrCurrencyPipe, "trCurrency", true>;
8
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tr-currency",
3
- "version": "1.0.1",
3
+ "version": "18.0.1",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.0.3",
6
6
  "@angular/core": "^18.0.3"