@nextcloud/files 2.0.0 → 3.0.0-beta.2

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.
@@ -1,158 +0,0 @@
1
- <!doctype html>
2
- <html class="default no-js">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
- <title>&quot;index&quot; | @nextcloud/files</title>
7
- <meta name="description" content="">
8
- <meta name="viewport" content="width=device-width, initial-scale=1">
9
- <link rel="stylesheet" href="../assets/css/main.css">
10
- </head>
11
- <body>
12
- <header>
13
- <div class="tsd-page-toolbar">
14
- <div class="container">
15
- <div class="table-wrap">
16
- <div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
17
- <div class="field">
18
- <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
19
- <input id="tsd-search-field" type="text" />
20
- </div>
21
- <ul class="results">
22
- <li class="state loading">Preparing search index...</li>
23
- <li class="state failure">The search index is not available</li>
24
- </ul>
25
- <a href="../index.html" class="title">@nextcloud/files</a>
26
- </div>
27
- <div class="table-cell" id="tsd-widgets">
28
- <div id="tsd-filter">
29
- <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
30
- <div class="tsd-filter-group">
31
- <div class="tsd-select" id="tsd-filter-visibility">
32
- <span class="tsd-select-label">All</span>
33
- <ul class="tsd-select-list">
34
- <li data-value="public">Public</li>
35
- <li data-value="protected">Public/Protected</li>
36
- <li data-value="private" class="selected">All</li>
37
- </ul>
38
- </div>
39
- <input type="checkbox" id="tsd-filter-inherited" checked />
40
- <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
41
- <input type="checkbox" id="tsd-filter-externals" checked />
42
- <label class="tsd-widget" for="tsd-filter-externals">Externals</label>
43
- <input type="checkbox" id="tsd-filter-only-exported" />
44
- <label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
45
- </div>
46
- </div>
47
- <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
48
- </div>
49
- </div>
50
- </div>
51
- </div>
52
- <div class="tsd-page-title">
53
- <div class="container">
54
- <ul class="tsd-breadcrumb">
55
- <li>
56
- <a href="../globals.html">Globals</a>
57
- </li>
58
- <li>
59
- <a href="_index_.html">&quot;index&quot;</a>
60
- </li>
61
- </ul>
62
- <h1>External module &quot;index&quot;</h1>
63
- </div>
64
- </div>
65
- </header>
66
- <div class="container container-main">
67
- <div class="row">
68
- <div class="col-8 col-content">
69
- </div>
70
- <div class="col-4 col-menu menu-sticky-wrap menu-highlight">
71
- <nav class="tsd-navigation primary">
72
- <ul>
73
- <li class="globals ">
74
- <a href="../globals.html"><em>Globals</em></a>
75
- </li>
76
- <li class=" tsd-kind-external-module">
77
- <a href="_humanfilesize_.html">&quot;humanfilesize&quot;</a>
78
- </li>
79
- <li class="current tsd-kind-external-module">
80
- <a href="_index_.html">&quot;index&quot;</a>
81
- </li>
82
- </ul>
83
- </nav>
84
- <nav class="tsd-navigation secondary menu-sticky">
85
- <ul class="before-current">
86
- </ul>
87
- </nav>
88
- </div>
89
- </div>
90
- </div>
91
- <footer class="with-border-bottom">
92
- <div class="container">
93
- <h2>Legend</h2>
94
- <div class="tsd-legend-group">
95
- <ul class="tsd-legend">
96
- <li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
97
- <li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
98
- <li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
99
- <li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
100
- <li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
101
- <li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
102
- <li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
103
- <li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
104
- </ul>
105
- <ul class="tsd-legend">
106
- <li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
107
- <li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
108
- <li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
109
- <li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
110
- </ul>
111
- <ul class="tsd-legend">
112
- <li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
113
- <li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
114
- <li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
115
- <li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
116
- <li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
117
- <li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
118
- </ul>
119
- <ul class="tsd-legend">
120
- <li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
121
- <li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
122
- <li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
123
- <li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
124
- <li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
125
- <li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
126
- <li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
127
- </ul>
128
- <ul class="tsd-legend">
129
- <li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
130
- <li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
131
- <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
132
- <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
133
- </ul>
134
- <ul class="tsd-legend">
135
- <li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
136
- <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
137
- <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
138
- </ul>
139
- <ul class="tsd-legend">
140
- <li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
141
- <li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
142
- <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
143
- </ul>
144
- <ul class="tsd-legend">
145
- <li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
146
- <li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
147
- </ul>
148
- </div>
149
- </div>
150
- </footer>
151
- <div class="container tsd-generator">
152
- <p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
153
- </div>
154
- <div class="overlay"></div>
155
- <script src="../assets/js/main.js"></script>
156
- <script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
157
- </body>
158
- </html>
@@ -1,33 +0,0 @@
1
- export declare enum FilePickerType {
2
- Choose = 1,
3
- Move = 2,
4
- Copy = 3,
5
- CopyMove = 4
6
- }
7
- export declare class FilePicker {
8
- private title;
9
- private multiSelect;
10
- private mimeTypeFiler;
11
- private modal;
12
- private type;
13
- private path?;
14
- constructor(title: string, multiSelect: boolean, mimeTypeFilter: string[], modal: boolean, type: FilePickerType, path?: string);
15
- pick(): Promise<string>;
16
- }
17
- export declare class FilePickerBuilder {
18
- private title;
19
- private multiSelect;
20
- private mimeTypeFiler;
21
- private modal;
22
- private type;
23
- private path?;
24
- constructor(title: string);
25
- setMultiSelect(ms: boolean): FilePickerBuilder;
26
- addMimeTypeFilter(filter: string): FilePickerBuilder;
27
- setMimeTypeFilter(filter: string[]): FilePickerBuilder;
28
- setModal(modal: boolean): FilePickerBuilder;
29
- setType(type: FilePickerType): FilePickerBuilder;
30
- startAt(path: string): FilePickerBuilder;
31
- build(): FilePicker;
32
- }
33
- export declare function getFilePickerBuilder(title: string): FilePickerBuilder;
@@ -1,70 +0,0 @@
1
- "use strict";
2
- /// <reference types="nextcloud-typings" />
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- var FilePickerType;
5
- (function (FilePickerType) {
6
- FilePickerType[FilePickerType["Choose"] = 1] = "Choose";
7
- FilePickerType[FilePickerType["Move"] = 2] = "Move";
8
- FilePickerType[FilePickerType["Copy"] = 3] = "Copy";
9
- FilePickerType[FilePickerType["CopyMove"] = 4] = "CopyMove";
10
- })(FilePickerType = exports.FilePickerType || (exports.FilePickerType = {}));
11
- var FilePicker = /** @class */ (function () {
12
- function FilePicker(title, multiSelect, mimeTypeFilter, modal, type, path) {
13
- this.title = title;
14
- this.multiSelect = multiSelect;
15
- this.mimeTypeFiler = mimeTypeFilter;
16
- this.modal = modal;
17
- this.type = type;
18
- this.path = path;
19
- }
20
- FilePicker.prototype.pick = function () {
21
- var _this = this;
22
- return new Promise(function (res, rej) {
23
- OC.dialogs.filepicker(_this.title, res, _this.multiSelect, _this.mimeTypeFiler, _this.modal, _this.type, _this.path);
24
- });
25
- };
26
- return FilePicker;
27
- }());
28
- exports.FilePicker = FilePicker;
29
- var FilePickerBuilder = /** @class */ (function () {
30
- function FilePickerBuilder(title) {
31
- this.multiSelect = false;
32
- this.mimeTypeFiler = [];
33
- this.modal = true;
34
- this.type = FilePickerType.Choose;
35
- this.title = title;
36
- }
37
- FilePickerBuilder.prototype.setMultiSelect = function (ms) {
38
- this.multiSelect = ms;
39
- return this;
40
- };
41
- FilePickerBuilder.prototype.addMimeTypeFilter = function (filter) {
42
- this.mimeTypeFiler.push(filter);
43
- return this;
44
- };
45
- FilePickerBuilder.prototype.setMimeTypeFilter = function (filter) {
46
- this.mimeTypeFiler = filter;
47
- return this;
48
- };
49
- FilePickerBuilder.prototype.setModal = function (modal) {
50
- this.modal = modal;
51
- return this;
52
- };
53
- FilePickerBuilder.prototype.setType = function (type) {
54
- this.type = type;
55
- return this;
56
- };
57
- FilePickerBuilder.prototype.startAt = function (path) {
58
- this.path = path;
59
- return this;
60
- };
61
- FilePickerBuilder.prototype.build = function () {
62
- return new FilePicker(this.title, this.multiSelect, this.mimeTypeFiler, this.modal, this.type, this.path);
63
- };
64
- return FilePickerBuilder;
65
- }());
66
- exports.FilePickerBuilder = FilePickerBuilder;
67
- function getFilePickerBuilder(title) {
68
- return new FilePickerBuilder(title);
69
- }
70
- exports.getFilePickerBuilder = getFilePickerBuilder;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../lib/filepicker.ts"],"names":["FilePickerType","FilePicker","title","multiSelect","mimeTypeFilter","modal","type","path","mimeTypeFiler","Promise","res","rej","OC","dialogs","filepicker","FilePickerBuilder","Choose","ms","filter","push"],"mappings":";;;;;;;;;;;;;;;;;AAAA;IAKYA,c;;;WAAAA,c;AAAAA,EAAAA,c,CAAAA,c;AAAAA,EAAAA,c,CAAAA,c;AAAAA,EAAAA,c,CAAAA,c;AAAAA,EAAAA,c,CAAAA,c;GAAAA,c,8BAAAA,c;;IAOCC,U;;;AAQT,sBAAmBC,KAAnB,EACIC,WADJ,EAEIC,cAFJ,EAGIC,KAHJ,EAIIC,IAJJ,EAKIC,IALJ,EAKmB;AAAA;;AACf,SAAKL,KAAL,GAAaA,KAAb;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACA,SAAKK,aAAL,GAAqBJ,cAArB;AACA,SAAKC,KAAL,GAAaA,KAAb;AACA,SAAKC,IAAL,GAAYA,IAAZ;AACA,SAAKC,IAAL,GAAYA,IAAZ;AACH;;;;2BAE8B;AAAA;;AAC3B,aAAO,IAAIE,OAAJ,CAAY,UAACC,GAAD,EAAMC,GAAN,EAAc;AAC7BC,QAAAA,EAAE,CAACC,OAAH,CAAWC,UAAX,CACI,KAAI,CAACZ,KADT,EAEIQ,GAFJ,EAGI,KAAI,CAACP,WAHT,EAII,KAAI,CAACK,aAJT,EAKI,KAAI,CAACH,KALT,EAMI,KAAI,CAACC,IANT,EAOI,KAAI,CAACC,IAPT;AASH,OAVM,CAAP;AAWH;;;;;;;;IAGQQ,iB;;;AAQT,6BAAmBb,KAAnB,EAAkC;AAAA;;AAAA,SAN1BC,WAM0B,GANH,KAMG;AAAA,SAL1BK,aAK0B,GALA,EAKA;AAAA,SAJ1BH,KAI0B,GAJT,IAIS;AAAA,SAH1BC,IAG0B,GAHHN,cAAc,CAACgB,MAGZ;AAC9B,SAAKd,KAAL,GAAaA,KAAb;AACH;;;;mCAEqBe,E,EAAgC;AAClD,WAAKd,WAAL,GAAmBc,EAAnB;AACA,aAAO,IAAP;AACH;;;sCAEwBC,M,EAAmC;AACxD,WAAKV,aAAL,CAAmBW,IAAnB,CAAwBD,MAAxB;AACA,aAAO,IAAP;AACH;;;sCAEwBA,M,EAAqC;AAC1D,WAAKV,aAAL,GAAqBU,MAArB;AACA,aAAO,IAAP;AACH;;;6BAEeb,K,EAAmC;AAC/C,WAAKA,KAAL,GAAaA,KAAb;AACA,aAAO,IAAP;AACH;;;4BAEcC,I,EAAyC;AACpD,WAAKA,IAAL,GAAYA,IAAZ;AACA,aAAO,IAAP;AACH;;;4BAEcC,I,EAAiC;AAC5C,WAAKA,IAAL,GAAYA,IAAZ;AACA,aAAO,IAAP;AACH;;;4BAE0B;AACvB,aAAO,IAAIN,UAAJ,CACH,KAAKC,KADF,EAEH,KAAKC,WAFF,EAGH,KAAKK,aAHF,EAIH,KAAKH,KAJF,EAKH,KAAKC,IALF,EAMH,KAAKC,IANF,CAAP;AAQH","sourcesContent":["/// <reference types=\"nextcloud-typings\" />\n\ntype OC16to17 = Nextcloud.v16.OC | Nextcloud.v17.OC\ndeclare var OC: OC16to17;\n\nexport enum FilePickerType {\n Choose = 1,\n Move = 2,\n Copy = 3,\n CopyMove = 4,\n}\n\nexport class FilePicker {\n private title: string\n private multiSelect: boolean\n private mimeTypeFiler: string[]\n private modal: boolean\n private type: FilePickerType\n private path?: string\n\n public constructor(title: string,\n multiSelect: boolean,\n mimeTypeFilter: string[],\n modal: boolean,\n type: FilePickerType,\n path?: string) {\n this.title = title\n this.multiSelect = multiSelect\n this.mimeTypeFiler = mimeTypeFilter\n this.modal = modal\n this.type = type\n this.path = path\n }\n\n public pick(): Promise<string> {\n return new Promise((res, rej) => {\n OC.dialogs.filepicker(\n this.title,\n res,\n this.multiSelect,\n this.mimeTypeFiler,\n this.modal,\n this.type,\n this.path\n )\n })\n }\n}\n\nexport class FilePickerBuilder {\n private title: string\n private multiSelect: boolean = false\n private mimeTypeFiler: string[] = []\n private modal: boolean = true\n private type: FilePickerType = FilePickerType.Choose\n private path?: string\n\n public constructor(title: string) {\n this.title = title\n }\n\n public setMultiSelect(ms: boolean): FilePickerBuilder {\n this.multiSelect = ms\n return this\n }\n\n public addMimeTypeFilter(filter: string): FilePickerBuilder {\n this.mimeTypeFiler.push(filter)\n return this\n }\n\n public setMimeTypeFilter(filter: string[]): FilePickerBuilder {\n this.mimeTypeFiler = filter\n return this\n }\n\n public setModal(modal: boolean): FilePickerBuilder {\n this.modal = modal\n return this\n }\n\n public setType(type: FilePickerType): FilePickerBuilder {\n this.type = type\n return this\n }\n\n public startAt(path: string): FilePickerBuilder {\n this.path = path\n return this\n }\n\n public build(): FilePicker {\n return new FilePicker(\n this.title,\n this.multiSelect,\n this.mimeTypeFiler,\n this.modal,\n this.type,\n this.path\n )\n }\n\n}\n"],"file":"filepicker.js"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.formatFileSize = formatFileSize;
7
-
8
- var _l10n = require("@nextcloud/l10n");
9
-
10
- const humanList = ['B', 'KB', 'MB', 'GB', 'TB'];
11
-
12
- function formatFileSize(size, skipSmallSizes = false) {
13
- // Calculate Log with base 1024: size = 1024 ** order
14
- let order = size > 0 ? Math.floor(Math.log(size) / Math.log(1024)) : 0; // Stay in range of the byte sizes that are defined
15
-
16
- order = Math.min(humanList.length - 1, order);
17
- const readableFormat = humanList[order];
18
- let relativeSize = (size / Math.pow(1024, order)).toFixed(1);
19
-
20
- if (skipSmallSizes === true && order === 0) {
21
- if (relativeSize !== "0.0") {
22
- return '< 1 KB';
23
- } else {
24
- return '0 KB';
25
- }
26
- }
27
-
28
- if (order < 2) {
29
- relativeSize = parseFloat(relativeSize).toFixed(0);
30
- } else if (relativeSize.substr(relativeSize.length - 2, 2) === '.0') {
31
- relativeSize = relativeSize.substr(0, relativeSize.length - 2);
32
- } else {
33
- relativeSize = parseFloat(relativeSize).toLocaleString((0, _l10n.getCanonicalLocale)());
34
- }
35
-
36
- return relativeSize + ' ' + readableFormat;
37
- }
38
- //# sourceMappingURL=humanfilesize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../lib/humanfilesize.ts"],"names":["humanList","formatFileSize","size","skipSmallSizes","order","Math","floor","log","min","length","readableFormat","relativeSize","pow","toFixed","parseFloat","substr","toLocaleString"],"mappings":";;;;;;;AAAA;;AAEA,MAAMA,SAAS,GAAG,CAAC,GAAD,EAAM,IAAN,EAAY,IAAZ,EAAkB,IAAlB,EAAwB,IAAxB,CAAlB;;AAEO,SAASC,cAAT,CAAwBC,IAAxB,EAAsCC,cAAuB,GAAG,KAAhE,EAA+E;AAErF;AACA,MAAIC,KAAK,GAAGF,IAAI,GAAG,CAAP,GAAWG,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASL,IAAT,IAAiBG,IAAI,CAACE,GAAL,CAAS,IAAT,CAA5B,CAAX,GAAyD,CAArE,CAHqF,CAIrF;;AACAH,EAAAA,KAAK,GAAGC,IAAI,CAACG,GAAL,CAASR,SAAS,CAACS,MAAV,GAAmB,CAA5B,EAA+BL,KAA/B,CAAR;AACA,QAAMM,cAAc,GAAGV,SAAS,CAACI,KAAD,CAAhC;AACA,MAAIO,YAAY,GAAG,CAACT,IAAI,GAAGG,IAAI,CAACO,GAAL,CAAS,IAAT,EAAeR,KAAf,CAAR,EAA+BS,OAA/B,CAAuC,CAAvC,CAAnB;;AACA,MAAIV,cAAc,KAAK,IAAnB,IAA2BC,KAAK,KAAK,CAAzC,EAA4C;AAC3C,QAAIO,YAAY,KAAK,KAArB,EAA4B;AAC3B,aAAO,QAAP;AACA,KAFD,MAEO;AACN,aAAO,MAAP;AACA;AACD;;AACD,MAAIP,KAAK,GAAG,CAAZ,EAAe;AACdO,IAAAA,YAAY,GAAGG,UAAU,CAACH,YAAD,CAAV,CAAyBE,OAAzB,CAAiC,CAAjC,CAAf;AACA,GAFD,MAEO,IAAIF,YAAY,CAACI,MAAb,CAAoBJ,YAAY,CAACF,MAAb,GAAsB,CAA1C,EAA6C,CAA7C,MAAoD,IAAxD,EAA8D;AACpEE,IAAAA,YAAY,GAAGA,YAAY,CAACI,MAAb,CAAoB,CAApB,EAAuBJ,YAAY,CAACF,MAAb,GAAsB,CAA7C,CAAf;AACA,GAFM,MAEA;AACNE,IAAAA,YAAY,GAAGG,UAAU,CAACH,YAAD,CAAV,CAAyBK,cAAzB,CAAwC,+BAAxC,CAAf;AACA;;AACD,SAAOL,YAAY,GAAG,GAAf,GAAqBD,cAA5B;AACA","sourcesContent":["import { getCanonicalLocale } from '@nextcloud/l10n'\n\nconst humanList = ['B', 'KB', 'MB', 'GB', 'TB'];\n\nexport function formatFileSize(size: number, skipSmallSizes: boolean = false): string {\n\n\t// Calculate Log with base 1024: size = 1024 ** order\n\tlet order = size > 0 ? Math.floor(Math.log(size) / Math.log(1024)) : 0;\n\t// Stay in range of the byte sizes that are defined\n\torder = Math.min(humanList.length - 1, order);\n\tconst readableFormat = humanList[order];\n\tlet relativeSize = (size / Math.pow(1024, order)).toFixed(1);\n\tif (skipSmallSizes === true && order === 0) {\n\t\tif (relativeSize !== \"0.0\") {\n\t\t\treturn '< 1 KB';\n\t\t} else {\n\t\t\treturn '0 KB';\n\t\t}\n\t}\n\tif (order < 2) {\n\t\trelativeSize = parseFloat(relativeSize).toFixed(0);\n\t} else if (relativeSize.substr(relativeSize.length - 2, 2) === '.0') {\n\t\trelativeSize = relativeSize.substr(0, relativeSize.length - 2);\n\t} else {\n\t\trelativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n\t}\n\treturn relativeSize + ' ' + readableFormat;\n}\n"],"file":"humanfilesize.js"}
@@ -1,28 +0,0 @@
1
- import { getCanonicalLocale } from '@nextcloud/l10n'
2
-
3
- const humanList = ['B', 'KB', 'MB', 'GB', 'TB'];
4
-
5
- export function formatFileSize(size: number, skipSmallSizes: boolean = false): string {
6
-
7
- // Calculate Log with base 1024: size = 1024 ** order
8
- let order = size > 0 ? Math.floor(Math.log(size) / Math.log(1024)) : 0;
9
- // Stay in range of the byte sizes that are defined
10
- order = Math.min(humanList.length - 1, order);
11
- const readableFormat = humanList[order];
12
- let relativeSize = (size / Math.pow(1024, order)).toFixed(1);
13
- if (skipSmallSizes === true && order === 0) {
14
- if (relativeSize !== "0.0") {
15
- return '< 1 KB';
16
- } else {
17
- return '0 KB';
18
- }
19
- }
20
- if (order < 2) {
21
- relativeSize = parseFloat(relativeSize).toFixed(0);
22
- } else if (relativeSize.substr(relativeSize.length - 2, 2) === '.0') {
23
- relativeSize = relativeSize.substr(0, relativeSize.length - 2);
24
- } else {
25
- relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());
26
- }
27
- return relativeSize + ' ' + readableFormat;
28
- }
package/lib/index.ts DELETED
@@ -1 +0,0 @@
1
- export { formatFileSize } from './humanfilesize'
@@ -1,65 +0,0 @@
1
- import { formatFileSize } from '../lib/humanfilesize'
2
-
3
- describe('humanFileSize', () => {
4
-
5
- describe('formatFileSize', () => {
6
-
7
- let locale
8
-
9
- beforeEach(() => {
10
- locale = 'en'
11
- window.OC = {
12
- getLocale: () => locale,
13
- }
14
- })
15
-
16
- afterEach(() => {
17
- delete window.OC
18
- })
19
-
20
- it('renders file sizes with the correct unit', function () {
21
- const data = [
22
- [0, '0 B'],
23
- ["0", '0 B'],
24
- ["A", 'NaN B'],
25
- [125, '125 B'],
26
- [128000, '125 KB'],
27
- [128000000, '122.1 MB'],
28
- [128000000000, '119.2 GB'],
29
- [128000000000000, '116.4 TB']
30
- ]
31
- for (var i = 0; i < data.length; i++) {
32
- expect(formatFileSize(data[i][0])).toEqual(data[i][1]);
33
- }
34
- });
35
- it('renders file sizes with the correct unit for small sizes', function () {
36
- var data = [
37
- [0, '0 KB'],
38
- [125, '< 1 KB'],
39
- [128000, '125 KB'],
40
- [128000000, '122.1 MB'],
41
- [128000000000, '119.2 GB'],
42
- [128000000000000, '116.4 TB']
43
- ]
44
- for (var i = 0; i < data.length; i++) {
45
- expect(formatFileSize(data[i][0], true)).toEqual(data[i][1]);
46
- }
47
- });
48
- it('renders file sizes with the correct locale', function () {
49
- locale = 'de'
50
- const data = [
51
- [0, '0 B'],
52
- ["0", '0 B'],
53
- ["A", 'NaN B'],
54
- [125, '125 B'],
55
- [128000, '125 KB'],
56
- [128000000, '122,1 MB'],
57
- [128000000000, '119,2 GB'],
58
- [128000000000000, '116,4 TB']
59
- ]
60
- for (var i = 0; i < data.length; i++) {
61
- expect(formatFileSize(data[i][0])).toEqual(data[i][1]);
62
- }
63
- })
64
- })
65
- })
package/tsconfig.json DELETED
@@ -1,14 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "es5",
4
- "module": "commonjs",
5
- "declaration": true,
6
- "outDir": "./dist",
7
- "strict": true,
8
- "lib": [
9
- "es6",
10
- "dom"
11
- ],
12
- "noImplicitAny": false,
13
- }
14
- }