Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
2293ad69e1 | |||
0a150a8a09 | |||
b5f53b1f64 | |||
e5a02a014a | |||
9d12338630 | |||
3c75bfedfc | |||
d9e80caa6f | |||
e44b7875e6 | |||
52bad357fe | |||
3ffc38dac5 |
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@pushrocks/smarts3",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.8",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@pushrocks/smarts3",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.8",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@pushrocks/smartfile": "^9.0.3",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@pushrocks/smarts3",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.8",
|
||||
"private": false,
|
||||
"description": "create an s3 endpoint that maps to a local directory",
|
||||
"main": "dist_ts/index.js",
|
||||
@ -15,7 +15,6 @@
|
||||
"@gitzone/tsbuild": "^2.1.25",
|
||||
"@gitzone/tsbundle": "^1.0.78",
|
||||
"@gitzone/tstest": "^1.0.44",
|
||||
"@pushrocks/smartbucket": "^1.0.44",
|
||||
"@pushrocks/tapbundle": "^3.2.9",
|
||||
"@types/node": "^17.0.0",
|
||||
"tslint": "^6.1.3",
|
||||
@ -37,6 +36,7 @@
|
||||
"readme.md"
|
||||
],
|
||||
"dependencies": {
|
||||
"@pushrocks/smartbucket": "^1.0.44",
|
||||
"@pushrocks/smartfile": "^9.0.3",
|
||||
"@types/s3rver": "^3.7.0",
|
||||
"s3rver": "^3.7.1"
|
||||
|
@ -6,11 +6,10 @@ import * as smarts3 from '../ts/index';
|
||||
let testSmarts3Instance: smarts3.Smarts3;
|
||||
|
||||
tap.test('should create a smarts3 instance and run it', async toolsArg => {
|
||||
testSmarts3Instance = new smarts3.Smarts3({
|
||||
testSmarts3Instance = await smarts3.Smarts3.createAndStart({
|
||||
port: 3000,
|
||||
cleanSlate: true,
|
||||
});
|
||||
await testSmarts3Instance.start();
|
||||
console.log(`Let the instance run for 2 seconds`);
|
||||
await toolsArg.delayFor(2000);
|
||||
});
|
||||
|
22
ts/index.ts
22
ts/index.ts
@ -7,11 +7,23 @@ export interface ISmarts3ContructorOptions {
|
||||
}
|
||||
|
||||
export class Smarts3 {
|
||||
// STATIC
|
||||
public static async createAndStart(optionsArg: ConstructorParameters<typeof Smarts3>[0]) {
|
||||
const smartS3Instance = new Smarts3(optionsArg);
|
||||
await smartS3Instance.start();
|
||||
return smartS3Instance;
|
||||
}
|
||||
|
||||
// INSTANCE
|
||||
public options: ISmarts3ContructorOptions;
|
||||
public s3Instance: plugins.s3rver;
|
||||
|
||||
constructor(optionsArg: ISmarts3ContructorOptions) {
|
||||
this.options = optionsArg;
|
||||
this.options = {
|
||||
...this.options,
|
||||
...optionsArg
|
||||
}
|
||||
}
|
||||
|
||||
public async start() {
|
||||
@ -30,6 +42,16 @@ export class Smarts3 {
|
||||
console.log('s3 server is running');
|
||||
}
|
||||
|
||||
public async getS3Descriptor(): Promise<plugins.smartbucket.ISmartBucketConfig> {
|
||||
return {
|
||||
accessKey: 'S3RVER',
|
||||
accessSecret: 'S3RVER',
|
||||
endpoint: 'localhost',
|
||||
port: this.options.port,
|
||||
useSsl: false,
|
||||
}
|
||||
}
|
||||
|
||||
public async stop() {
|
||||
await this.s3Instance.close();
|
||||
}
|
||||
|
@ -6,10 +6,12 @@ export {
|
||||
}
|
||||
|
||||
// pushrocks scope
|
||||
import * as samrtfile from '@pushrocks/smartfile';
|
||||
import * as smartbucket from '@pushrocks/smartbucket';
|
||||
import * as smartfile from '@pushrocks/smartfile';
|
||||
|
||||
export {
|
||||
samrtfile as smartfile
|
||||
smartbucket,
|
||||
smartfile,
|
||||
}
|
||||
|
||||
// thirdparty scope
|
||||
|
Reference in New Issue
Block a user