Skip to content

Commit

Permalink
Merge pull request #176 from partik03/oracle_transformer
Browse files Browse the repository at this point in the history
Oracle transformer
  • Loading branch information
mbcse committed Aug 25, 2023
2 parents 4062259 + 45cf7ee commit f2ef9ee
Show file tree
Hide file tree
Showing 7 changed files with 1,106 additions and 38 deletions.
72 changes: 72 additions & 0 deletions generator/generatedClasses/DO/storage/do-archivalStorage.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/*This is an auto generated class, please do not change.*/
/**
* Class to create a ObjectStorageClient object
* @category Oracle Cloud
*/
class Oracle_ArchivalStorage {
/**
*
* @param {module} do Oracle SDK
* @param {object} options SDK options
*/
constructor(ocisdk, params, clientConfiguration) {
this._oci = ocisdk;
this._sdkclassName = this._oci.objectStorageClient(
params,
clientConfiguration
);
}
/**
* Trigers the createBucket function of ObjectStorageClient
* @param {CreateBucketRequest} createBucketRequest - Data required for createBucket
* @returns {Promise<createBucketResponse>}
*/
create(createBucketRequest) {
return new Promise((resolve, reject) => {
this._objectStorageClient
.createBucket(createBucketRequest)
.then(data => resolve(data))
.catch(err => reject(err));
});
}
/**
* Trigers the deleteBucket function of ObjectStorageClient
* @param {DeleteBucketRequest} deleteBucketRequest - Data required for deleteBucket
* @returns {Promise<deleteBucketResponse>}
*/
delete(deleteBucketRequest) {
return new Promise((resolve, reject) => {
this._objectStorageClient
.deleteBucket(deleteBucketRequest)
.then(data => resolve(data))
.catch(err => reject(err));
});
}
/**
* Trigers the listBuckets function of ObjectStorageClient
* @param {ListBucketsRequest} listBucketsRequest - Data required for listBuckets
* @returns {Promise<listBucketsResponse>}
*/
list(listBucketsRequest) {
return new Promise((resolve, reject) => {
this._objectStorageClient
.listBuckets(listBucketsRequest)
.then(data => resolve(data))
.catch(err => reject(err));
});
}
/**
* Trigers the updateBucket function of ObjectStorageClient
* @param {UpdateBucketRequest} updateBucketRequest - Data required for updateBucket
* @returns {Promise<updateBucketResponse>}
*/
update(updateBucketRequest) {
return new Promise((resolve, reject) => {
this._objectStorageClient
.updateBucket(updateBucketRequest)
.then(data => resolve(data))
.catch(err => reject(err));
});
}
}
module.exports = Oracle_ArchivalStorage;
72 changes: 72 additions & 0 deletions generator/generatedClasses/Oracle/storage/oci-archivalStorage.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/*This is an auto generated class, please do not change.*/
/**
* Class to create a ObjectStorageClient object
* @category Oracle Cloud
*/
class Oracle_ArchivalStorage {
/**
*
* @param {module} do Oracle SDK
* @param {object} options SDK options
*/
constructor(ocisdk, params, clientConfiguration) {
this._oci = ocisdk;
this._sdkclassName = this._oci.objectStorageClient(
params,
clientConfiguration
);
}
/**
* Trigers the createBucket function of ObjectStorageClient
* @param {CreateBucketRequest} createBucketRequest - Data required for createBucket
* @returns {Promise<createBucketResponse>}
*/
create(createBucketRequest) {
return new Promise((resolve, reject) => {
this._objectStorageClient
.createBucket(createBucketRequest)
.then(data => resolve(data))
.catch(err => reject(err));
});
}
/**
* Trigers the deleteBucket function of ObjectStorageClient
* @param {DeleteBucketRequest} deleteBucketRequest - Data required for deleteBucket
* @returns {Promise<deleteBucketResponse>}
*/
delete(deleteBucketRequest) {
return new Promise((resolve, reject) => {
this._objectStorageClient
.deleteBucket(deleteBucketRequest)
.then(data => resolve(data))
.catch(err => reject(err));
});
}
/**
* Trigers the listBuckets function of ObjectStorageClient
* @param {ListBucketsRequest} listBucketsRequest - Data required for listBuckets
* @returns {Promise<listBucketsResponse>}
*/
list(listBucketsRequest) {
return new Promise((resolve, reject) => {
this._objectStorageClient
.listBuckets(listBucketsRequest)
.then(data => resolve(data))
.catch(err => reject(err));
});
}
/**
* Trigers the updateBucket function of ObjectStorageClient
* @param {UpdateBucketRequest} updateBucketRequest - Data required for updateBucket
* @returns {Promise<updateBucketResponse>}
*/
update(updateBucketRequest) {
return new Promise((resolve, reject) => {
this._objectStorageClient
.updateBucket(updateBucketRequest)
.then(data => resolve(data))
.catch(err => reject(err));
});
}
}
module.exports = Oracle_ArchivalStorage;
85 changes: 85 additions & 0 deletions generator/generatedClasses/Oracle/storage/oci-storageBucket.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
/*This is an auto generated class, please do not change.*/
/**
* Class to create a ObjectStorageClient object
* @category Oracle Cloud
*/
class Oracle_StorageBucket {
/**
*
* @param {module} do Oracle SDK
* @param {object} options SDK options
*/
constructor(ocisdk, params, clientConfiguration) {
this._oci = ocisdk;
this._sdkclassName = this._oci.objectStorageClient(
params,
clientConfiguration
);
}
/**
* Trigers the createBucket function of ObjectStorageClient
* @param {CreateBucketRequest} createBucketRequest - Data required for createBucket
* @returns {Promise<createBucketResponse>}
*/
create(createBucketRequest) {
return new Promise((resolve, reject) => {
this._objectStorageClient
.createBucket(createBucketRequest)
.then(data => resolve(data))
.catch(err => reject(err));
});
}
/**
* Trigers the deleteBucket function of ObjectStorageClient
* @param {DeleteBucketRequest} deleteBucketRequest - Data required for deleteBucket
* @returns {Promise<deleteBucketResponse>}
*/
delete(deleteBucketRequest) {
return new Promise((resolve, reject) => {
this._objectStorageClient
.deleteBucket(deleteBucketRequest)
.then(data => resolve(data))
.catch(err => reject(err));
});
}
/**
* Trigers the getBucket function of ObjectStorageClient
* @param {GetBucketRequest} getBucketRequest - Data required for getBucket
* @returns {Promise<getBucketResponse>}
*/
get(getBucketRequest) {
return new Promise((resolve, reject) => {
this._objectStorageClient
.getBucket(getBucketRequest)
.then(data => resolve(data))
.catch(err => reject(err));
});
}
/**
* Trigers the listBuckets function of ObjectStorageClient
* @param {ListBucketsRequest} listBucketsRequest - Data required for listBuckets
* @returns {Promise<listBucketsResponse>}
*/
list(listBucketsRequest) {
return new Promise((resolve, reject) => {
this._objectStorageClient
.listBuckets(listBucketsRequest)
.then(data => resolve(data))
.catch(err => reject(err));
});
}
/**
* Trigers the reencryptBucket function of ObjectStorageClient
* @param {ReencryptBucketRequest} reencryptBucketRequest - Data required for reencryptBucket
* @returns {Promise<reencryptBucketResponse>}
*/
reencrypt(reencryptBucketRequest) {
return new Promise((resolve, reject) => {
this._objectStorageClient
.reencryptBucket(reencryptBucketRequest)
.then(data => resolve(data))
.catch(err => reject(err));
});
}
}
module.exports = Oracle_StorageBucket;
94 changes: 68 additions & 26 deletions generator/generators/oracle/generator.js
Original file line number Diff line number Diff line change
Expand Up @@ -141,33 +141,24 @@ var __generator =
};
exports.__esModule = true;
exports.generateOracleClass = exports.extractSDKData = void 0;
// import { getAST } from '../../parsers/oracle/parser';
var fs = require('fs');
var typescript_1 = require('typescript');
var parser_1 = require('../../parsers/oracle/parser');
// interface ClassData {
// className: string;
// functions: FunctionData[];
// serviceName: string;
// }
var helper_1 = require('../lib/helper');
var transformer_1 = require('../../transformers/oracle/transformer');
var dummyFile = process.cwd() + '/dummyClasses/oracle.js';
var dummyAst = typescript_1.createSourceFile(
dummyFile,
fs.readFileSync(dummyFile).toString(),
typescript_1.ScriptTarget.Latest,
true
);
function extractSDKData(sdkClassAst, serviceClass) {
var methods = [];
var functions = [];
Object.keys(serviceClass).map(function(key, index) {
functions.push(serviceClass[key].split(' ')[1]);
});
// console.log(functions);
// console.log(sdkClassAst);
// console.log(Array.from(sdkClassAst.members)[0]);
// Array.from(sdkClassAst.members).map(method=>{
// // console.log(method.name.escapedText);
// })
// console.log(Object.keys(sdkClassAst.members));
// console.log(sdkClassAst.members['99']);
// Object.keys(sdkClassAst.members).map((key,index)=>{
// console.log(key);
// // const member = sdkClassAst.members[key];
// // console.log(member.name.text);
// })
sdkClassAst.members.map(function(method) {
if (method.name && functions.includes(method.name.text)) {
var name_1;
Expand Down Expand Up @@ -207,6 +198,7 @@ function extractSDKData(sdkClassAst, serviceClass) {
serviceName: null,
};
console.log(classData);
return classData;
}
exports.extractSDKData = extractSDKData;
function generateOracleClass(serviceClass, serviceName) {
Expand All @@ -215,14 +207,64 @@ function generateOracleClass(serviceClass, serviceName) {
console.log(sdkFile);
parser_1.getAST(sdkFile).then(function(result) {
return __awaiter(_this, void 0, void 0, function() {
var sdkClassAst;
var sdkClassAst, classData, output, filePath, dir, error_1;
return __generator(this, function(_a) {
sdkClassAst = result;
try {
// const classData: ClassData = extractSDKData(sdkClassAst,serviceClass)
extractSDKData(sdkClassAst, serviceClass);
} catch (error) {}
return [2 /*return*/];
switch (_a.label) {
case 0:
sdkClassAst = result;
_a.label = 1;
case 1:
_a.trys.push([1, 3, , 4]);
classData = extractSDKData(sdkClassAst, serviceClass);
classData.serviceName = serviceName;
return [
4 /*yield*/,
transformer_1.transform(dummyAst, classData),
];
case 2:
output = _a.sent();
filePath = void 0;
dir = helper_1.getDir(serviceName);
if (
!fs.existsSync(
process.cwd() +
'/generatedClasses/Oracle/' +
dir
)
) {
fs.mkdirSync(
process.cwd() +
'/generatedClasses/Oracle/' +
dir
);
}
if (/^[A-Z]*$/.test(serviceName)) {
filePath =
process.cwd() +
'/generatedClasses/Oracle/' +
dir +
'/oci-' +
serviceName +
'.js';
} else {
filePath =
process.cwd() +
'/generatedClasses/Oracle/' +
dir +
'/oci-' +
serviceName.charAt(0).toLowerCase() +
serviceName.slice(1) +
'.js';
}
helper_1.printFile(filePath, output);
return [3 /*break*/, 4];
case 3:
error_1 = _a.sent();
console.error(error_1);
return [3 /*break*/, 4];
case 4:
return [2 /*return*/];
}
});
});
});
Expand Down
Loading

0 comments on commit f2ef9ee

Please sign in to comment.