@ainias42/typeorm-helper 0.0.6 → 0.0.8
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/dist/BaseModel.d.ts +2 -5
- package/dist/BaseModel.js +3 -22
- package/dist/BaseModel.js.map +1 -1
- package/dist/BaseModelWithoutVersion.d.ts +6 -0
- package/dist/BaseModelWithoutVersion.js +40 -0
- package/dist/BaseModelWithoutVersion.js.map +1 -0
- package/dist/DefaultSubscriber.js +5 -3
- package/dist/DefaultSubscriber.js.map +1 -1
- package/dist/decorators/FileColumn/FileColumn.js +2 -2
- package/dist/decorators/FileColumn/FileColumn.js.map +1 -1
- package/dist/decorators/FileColumn/FileType.d.ts +1 -1
- package/dist/decorators/FileColumn/fileWriter.d.ts +7 -0
- package/dist/decorators/FileColumn/fileWriter.js +62 -0
- package/dist/decorators/FileColumn/fileWriter.js.map +1 -0
- package/dist/helper/getFileUrl.d.ts +2 -0
- package/dist/helper/getFileUrl.js +10 -0
- package/dist/helper/getFileUrl.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/eslint.config.js +3 -0
- package/package.json +38 -35
- package/src/BaseModel.ts +3 -15
- package/src/BaseModelWithoutVersion.ts +16 -0
- package/src/DefaultSubscriber.ts +8 -8
- package/src/decorators/FileColumn/FileColumn.ts +3 -3
- package/src/decorators/FileColumn/FileType.ts +7 -5
- package/src/decorators/FileColumn/fileWriter.ts +68 -0
- package/src/helper/getFileUrl.ts +8 -0
- package/src/index.ts +3 -1
- package/stylelint.config.mjs +4 -0
- package/.eslintrc.cjs +0 -3
- package/dist/decorators/FileColumn/FileWriter.d.ts +0 -3
- package/dist/decorators/FileColumn/FileWriter.js +0 -46
- package/dist/decorators/FileColumn/FileWriter.js.map +0 -1
- package/src/decorators/FileColumn/FileWriter.ts +0 -49
package/dist/BaseModel.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
createdAt: Date;
|
|
4
|
-
updatedAt: Date;
|
|
5
|
-
deletedAt: Date | null;
|
|
1
|
+
import { BaseModelWithoutVersion } from './BaseModelWithoutVersion.js';
|
|
2
|
+
export declare class BaseModel extends BaseModelWithoutVersion {
|
|
6
3
|
version: number;
|
|
7
4
|
}
|
package/dist/BaseModel.js
CHANGED
|
@@ -10,34 +10,15 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.BaseModel = void 0;
|
|
13
|
+
const BaseModelWithoutVersion_1 = require("./BaseModelWithoutVersion.js");
|
|
13
14
|
const typeorm_1 = require("typeorm");
|
|
14
|
-
|
|
15
|
-
class BaseModel {
|
|
15
|
+
class BaseModel extends BaseModelWithoutVersion_1.BaseModelWithoutVersion {
|
|
16
16
|
constructor() {
|
|
17
|
-
|
|
18
|
-
this.createdAt = js_helper_1.DateHelper.newDate();
|
|
19
|
-
this.updatedAt = js_helper_1.DateHelper.newDate();
|
|
20
|
-
this.deletedAt = null;
|
|
17
|
+
super(...arguments);
|
|
21
18
|
this.version = 0;
|
|
22
19
|
}
|
|
23
20
|
}
|
|
24
21
|
exports.BaseModel = BaseModel;
|
|
25
|
-
__decorate([
|
|
26
|
-
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
|
27
|
-
__metadata("design:type", Number)
|
|
28
|
-
], BaseModel.prototype, "id", void 0);
|
|
29
|
-
__decorate([
|
|
30
|
-
(0, typeorm_1.CreateDateColumn)(),
|
|
31
|
-
__metadata("design:type", Date)
|
|
32
|
-
], BaseModel.prototype, "createdAt", void 0);
|
|
33
|
-
__decorate([
|
|
34
|
-
(0, typeorm_1.UpdateDateColumn)(),
|
|
35
|
-
__metadata("design:type", Date)
|
|
36
|
-
], BaseModel.prototype, "updatedAt", void 0);
|
|
37
|
-
__decorate([
|
|
38
|
-
(0, typeorm_1.DeleteDateColumn)(),
|
|
39
|
-
__metadata("design:type", Object)
|
|
40
|
-
], BaseModel.prototype, "deletedAt", void 0);
|
|
41
22
|
__decorate([
|
|
42
23
|
(0, typeorm_1.VersionColumn)(),
|
|
43
24
|
__metadata("design:type", Number)
|
package/dist/BaseModel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseModel.js","sourceRoot":"","sources":["../src/BaseModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"BaseModel.js","sourceRoot":"","sources":["../src/BaseModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uEAAoE;AACpE,qCAAwC;AAExC,MAAa,SAAU,SAAQ,iDAAuB;IAAtD;;QAEI,YAAO,GAAW,CAAC,CAAC;IACxB,CAAC;CAAA;AAHD,8BAGC;AADG;IADC,IAAA,uBAAa,GAAE;;0CACI"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.BaseModelWithoutVersion = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
const js_helper_1 = require("@ainias42/js-helper");
|
|
15
|
+
class BaseModelWithoutVersion {
|
|
16
|
+
constructor() {
|
|
17
|
+
this.id = -1;
|
|
18
|
+
this.createdAt = js_helper_1.DateHelper.newDate();
|
|
19
|
+
this.updatedAt = js_helper_1.DateHelper.newDate();
|
|
20
|
+
this.deletedAt = null;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.BaseModelWithoutVersion = BaseModelWithoutVersion;
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
|
26
|
+
__metadata("design:type", Number)
|
|
27
|
+
], BaseModelWithoutVersion.prototype, "id", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, typeorm_1.CreateDateColumn)(),
|
|
30
|
+
__metadata("design:type", Date)
|
|
31
|
+
], BaseModelWithoutVersion.prototype, "createdAt", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, typeorm_1.UpdateDateColumn)(),
|
|
34
|
+
__metadata("design:type", Date)
|
|
35
|
+
], BaseModelWithoutVersion.prototype, "updatedAt", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, typeorm_1.DeleteDateColumn)(),
|
|
38
|
+
__metadata("design:type", Object)
|
|
39
|
+
], BaseModelWithoutVersion.prototype, "deletedAt", void 0);
|
|
40
|
+
//# sourceMappingURL=BaseModelWithoutVersion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseModelWithoutVersion.js","sourceRoot":"","sources":["../src/BaseModelWithoutVersion.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAuG;AACvG,mDAAiD;AAEjD,MAAa,uBAAuB;IAApC;QAEI,OAAE,GAAW,CAAC,CAAC,CAAC;QAGhB,cAAS,GAAS,sBAAU,CAAC,OAAO,EAAE,CAAC;QAGvC,cAAS,GAAS,sBAAU,CAAC,OAAO,EAAE,CAAC;QAGvC,cAAS,GAAgB,IAAI,CAAC;IAClC,CAAC;CAAA;AAZD,0DAYC;AAVG;IADC,IAAA,gCAAsB,GAAE;;mDACT;AAGhB;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;0DAAwB;AAGvC;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;0DAAwB;AAGvC;IADC,IAAA,0BAAgB,GAAE;;0DACW"}
|
|
@@ -8,7 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.DefaultSubscriber = void 0;
|
|
10
10
|
const typeorm_1 = require("typeorm");
|
|
11
|
-
const
|
|
11
|
+
const fileWriter_1 = require("./decorators/FileColumn/fileWriter.js");
|
|
12
12
|
let DefaultSubscriber = class DefaultSubscriber {
|
|
13
13
|
async saveFiles(entity, columns) {
|
|
14
14
|
const promises = [];
|
|
@@ -22,8 +22,10 @@ let DefaultSubscriber = class DefaultSubscriber {
|
|
|
22
22
|
values = [values];
|
|
23
23
|
single = true;
|
|
24
24
|
}
|
|
25
|
-
promises.push(Promise.all(values.map((value) =>
|
|
26
|
-
|
|
25
|
+
promises.push(Promise.all(values.map((value) => fileWriter_1.fileWriter
|
|
26
|
+
.writeToFile(value, transformer.fileOptions.saveDirectory)
|
|
27
|
+
.then((newFileType) => {
|
|
28
|
+
return newFileType;
|
|
27
29
|
}))).then((newValues) => {
|
|
28
30
|
if (single) {
|
|
29
31
|
Reflect.set(entity, column.propertyName, newValues[0]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultSubscriber.js","sourceRoot":"","sources":["../src/DefaultSubscriber.ts"],"names":[],"mappings":";;;;;;;;;AAEA,qCAOiB;AAGjB,mEAAgE;AAGzD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC1B,KAAK,CAAC,SAAS,CAAC,MAAqB,EAAE,OAAyB;QAC5D,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,WAA0C,CAAC;YACtE,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAE,CAAC;gBACtB,IAAI,MAAM,GAAsC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;gBACzF,IAAI,MAAM,EAAE,CAAC;oBACT,IAAI,MAAM,GAAG,KAAK,CAAC;oBACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBACzB,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;wBAClB,MAAM,GAAG,IAAI,CAAC;oBAClB,CAAC;oBACD,QAAQ,CAAC,IAAI,CACT,OAAO,CAAC,GAAG,CACP,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjB,uBAAU,
|
|
1
|
+
{"version":3,"file":"DefaultSubscriber.js","sourceRoot":"","sources":["../src/DefaultSubscriber.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ function FileColumn(options) {
|
|
|
23
23
|
single = true;
|
|
24
24
|
}
|
|
25
25
|
for (const value of values) {
|
|
26
|
-
if (value.src.startsWith(options.publicPath)) {
|
|
26
|
+
if ('src' in value && value.src.startsWith(options.publicPath)) {
|
|
27
27
|
value.src = value.src.slice(options.publicPath.length);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -41,7 +41,7 @@ function FileColumn(options) {
|
|
|
41
41
|
single = true;
|
|
42
42
|
}
|
|
43
43
|
for (const value of values) {
|
|
44
|
-
if (!value.src.startsWith('data:')) {
|
|
44
|
+
if ('src' in value && !value.src.startsWith('data:')) {
|
|
45
45
|
value.src = options.publicPath + value.src;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileColumn.js","sourceRoot":"","sources":["../../../src/decorators/FileColumn/FileColumn.ts"],"names":[],"mappings":";;AAIA,gCAqDC;AAzDD,qCAAiD;AAIjD,SAAgB,UAAU,CAAC,OAAsD;IAC7E,OAAO,SAAS,SAAS,CAAC,MAAW,EAAE,YAAoB;QACvD,IAAA,gCAAsB,GAAE,CAAC,OAAO,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY;YACZ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE;oBACT,MAAM,EAAE,IAAI;oBACZ,WAAW,EAAE,OAAO;oBACpB,EAAE,EAAE,CAAC,MAAyC,EAAE,EAAE;wBAC9C,IAAI,MAAM,EAAE,CAAC;4BACT,IAAI,MAAM,GAAG,KAAK,CAAC;4BACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gCACzB,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;gCAClB,MAAM,GAAG,IAAI,CAAC;4BAClB,CAAC;4BACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gCACzB,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"FileColumn.js","sourceRoot":"","sources":["../../../src/decorators/FileColumn/FileColumn.ts"],"names":[],"mappings":";;AAIA,gCAqDC;AAzDD,qCAAiD;AAIjD,SAAgB,UAAU,CAAC,OAAsD;IAC7E,OAAO,SAAS,SAAS,CAAC,MAAW,EAAE,YAAoB;QACvD,IAAA,gCAAsB,GAAE,CAAC,OAAO,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY;YACZ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE;oBACT,MAAM,EAAE,IAAI;oBACZ,WAAW,EAAE,OAAO;oBACpB,EAAE,EAAE,CAAC,MAAyC,EAAE,EAAE;wBAC9C,IAAI,MAAM,EAAE,CAAC;4BACT,IAAI,MAAM,GAAG,KAAK,CAAC;4BACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gCACzB,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;gCAClB,MAAM,GAAG,IAAI,CAAC;4BAClB,CAAC;4BACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gCACzB,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oCAC7D,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gCAC3D,CAAC;4BACL,CAAC;4BACD,IAAI,MAAM,EAAE,CAAC;gCACT,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;4BACrB,CAAC;wBACL,CAAC;wBACD,OAAO,MAAM,CAAC;oBAClB,CAAC;oBACD,IAAI,EAAE,CAAC,MAAyC,EAAE,EAAE;wBAChD,IAAI,MAAM,EAAE,CAAC;4BACT,IAAI,MAAM,GAAG,KAAK,CAAC;4BACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gCACzB,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;gCAClB,MAAM,GAAG,IAAI,CAAC;4BAClB,CAAC;4BACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gCACzB,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oCACnD,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC;gCAC/C,CAAC;4BACL,CAAC;4BACD,IAAI,MAAM,EAAE,CAAC;gCACT,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;4BACrB,CAAC;wBACL,CAAC;wBACD,OAAO,MAAM,CAAC;oBAClB,CAAC;iBACJ;aACJ;SACkB,CAAC,CAAC;IAC7B,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { FileType } from '../../decorators/FileColumn/FileType.js';
|
|
2
|
+
declare class FileWriter {
|
|
3
|
+
private stringSrcToArrayBuffer;
|
|
4
|
+
writeToFile(file: FileType, saveDirectory: string, name?: string): Promise<FileType>;
|
|
5
|
+
}
|
|
6
|
+
export declare const fileWriter: FileWriter;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.fileWriter = void 0;
|
|
7
|
+
/* eslint-disable class-methods-use-this */
|
|
8
|
+
const node_stream_1 = require("node:stream");
|
|
9
|
+
const fs_1 = require("fs");
|
|
10
|
+
const mime_types_1 = require("mime-types");
|
|
11
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
12
|
+
class FileWriter {
|
|
13
|
+
stringSrcToArrayBuffer(src) {
|
|
14
|
+
const base64SearchText = ';base64,';
|
|
15
|
+
const indexBase64SearchText = src.indexOf(base64SearchText);
|
|
16
|
+
const indexSlash = src.indexOf('/');
|
|
17
|
+
// file is already a url
|
|
18
|
+
if (indexBase64SearchText === -1 || indexSlash === -1 || !src.startsWith('data:')) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
const data = src.slice(Math.max(0, indexBase64SearchText + base64SearchText.length));
|
|
22
|
+
const dataBuffer = Buffer.from(data, 'base64');
|
|
23
|
+
return dataBuffer;
|
|
24
|
+
}
|
|
25
|
+
async writeToFile(file, saveDirectory, name) {
|
|
26
|
+
let dataBuffer;
|
|
27
|
+
let dataStream;
|
|
28
|
+
if (file instanceof File) {
|
|
29
|
+
// @ts-expect-error there seems to be an type error inside the native types
|
|
30
|
+
dataStream = node_stream_1.Readable.fromWeb(file.stream());
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
const buffer = this.stringSrcToArrayBuffer(file.src);
|
|
34
|
+
if (!buffer) {
|
|
35
|
+
return file;
|
|
36
|
+
}
|
|
37
|
+
dataBuffer = buffer;
|
|
38
|
+
dataStream = new node_stream_1.PassThrough();
|
|
39
|
+
dataStream.push(dataBuffer);
|
|
40
|
+
// eslint-disable-next-line unicorn/prefer-single-call
|
|
41
|
+
dataStream.push(null);
|
|
42
|
+
}
|
|
43
|
+
const fileEnding = (0, mime_types_1.extension)(file.type);
|
|
44
|
+
const seed = crypto_1.default.randomBytes(20);
|
|
45
|
+
const now = new Date();
|
|
46
|
+
// Month is 0-based. Add 1 to get 1-12
|
|
47
|
+
const fileName = name !== null && name !== void 0 ? name : `${now.getUTCFullYear()}-${now.getUTCMonth() + 1}-${now.getUTCDate()}-${crypto_1.default
|
|
48
|
+
.createHash('sha1')
|
|
49
|
+
.update(seed)
|
|
50
|
+
.digest('hex')}.${fileEnding}`;
|
|
51
|
+
if (!(0, fs_1.existsSync)(saveDirectory)) {
|
|
52
|
+
(0, fs_1.mkdirSync)(saveDirectory, { recursive: true });
|
|
53
|
+
}
|
|
54
|
+
const writeStream = (0, fs_1.createWriteStream)(saveDirectory + fileName);
|
|
55
|
+
const resultPromise = new Promise((r) => writeStream.addListener('finish', r));
|
|
56
|
+
dataStream.pipe(writeStream);
|
|
57
|
+
await resultPromise;
|
|
58
|
+
return { type: file.type, name: file.name, src: fileName };
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.fileWriter = new FileWriter();
|
|
62
|
+
//# sourceMappingURL=fileWriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileWriter.js","sourceRoot":"","sources":["../../../src/decorators/FileColumn/fileWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFileUrl = getFileUrl;
|
|
4
|
+
function getFileUrl(file) {
|
|
5
|
+
if (file instanceof File) {
|
|
6
|
+
return URL.createObjectURL(file);
|
|
7
|
+
}
|
|
8
|
+
return file.src;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=getFileUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFileUrl.js","sourceRoot":"","sources":["../../src/helper/getFileUrl.ts"],"names":[],"mappings":";;AAEA,gCAKC;AALD,SAAgB,UAAU,CAAC,IAAc;IACrC,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC;AACpB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
export * from './BaseModel.js';
|
|
2
|
+
export * from './BaseModelWithoutVersion.js';
|
|
2
3
|
export * from './DbNamingStrategy.js';
|
|
3
4
|
export * from './DefaultSubscriber.js';
|
|
4
5
|
export * from './dataSource/dataSource.js';
|
|
5
6
|
export * from './dataSource/getRepository.js';
|
|
7
|
+
export * from './helper/getFileUrl.js';
|
|
6
8
|
export * from './migration/getCreateTableColumns.js';
|
|
7
9
|
export * from './migration/getCreateTableColumnsV1.js';
|
|
8
10
|
export * from './decorators/FileColumn/FileColumn.js';
|
|
9
11
|
export * from './decorators/FileColumn/FileTransformer.js';
|
|
10
12
|
export * from './decorators/FileColumn/FileType.js';
|
|
11
|
-
export * from './decorators/FileColumn/
|
|
13
|
+
export * from './decorators/FileColumn/fileWriter.js';
|
package/dist/index.js
CHANGED
|
@@ -15,14 +15,16 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./BaseModel.js"), exports);
|
|
18
|
+
__exportStar(require("./BaseModelWithoutVersion.js"), exports);
|
|
18
19
|
__exportStar(require("./DbNamingStrategy.js"), exports);
|
|
19
20
|
__exportStar(require("./DefaultSubscriber.js"), exports);
|
|
20
21
|
__exportStar(require("./dataSource/dataSource.js"), exports);
|
|
21
22
|
__exportStar(require("./dataSource/getRepository.js"), exports);
|
|
23
|
+
__exportStar(require("./helper/getFileUrl.js"), exports);
|
|
22
24
|
__exportStar(require("./migration/getCreateTableColumns.js"), exports);
|
|
23
25
|
__exportStar(require("./migration/getCreateTableColumnsV1.js"), exports);
|
|
24
26
|
__exportStar(require("./decorators/FileColumn/FileColumn.js"), exports);
|
|
25
27
|
__exportStar(require("./decorators/FileColumn/FileTransformer.js"), exports);
|
|
26
28
|
__exportStar(require("./decorators/FileColumn/FileType.js"), exports);
|
|
27
|
-
__exportStar(require("./decorators/FileColumn/
|
|
29
|
+
__exportStar(require("./decorators/FileColumn/fileWriter.js"), exports);
|
|
28
30
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,qDAAmC;AACnC,sDAAoC;AACpC,0DAAwC;AACxC,6DAA2C;AAC3C,oEAAkD;AAClD,sEAAoD;AACpD,qEAAmD;AACnD,0EAAwD;AACxD,mEAAiD;AACjD,qEAAmD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,4DAA0C;AAC1C,qDAAmC;AACnC,sDAAoC;AACpC,0DAAwC;AACxC,6DAA2C;AAC3C,sDAAoC;AACpC,oEAAkD;AAClD,sEAAoD;AACpD,qEAAmD;AACnD,0EAAwD;AACxD,mEAAiD;AACjD,qEAAmD"}
|