heat-sfdx-metadata
Version:
 [](https://badge.fury.io/js/heat-sfdx-metadata) [ || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.invoke = exports.METADATA_FOLDER2TYPE_MAP = exports.METADATA_TYPE2FOLDER_MAP = exports.UTF8 = void 0;
exports.createClient = createClient;
exports.callFunction = callFunction;
exports.methodsMetadata = methodsMetadata;
exports.specificationMetadata = specificationMetadata;
/**
* @name common.ts
* @description common
*/
const soap = __importStar(require("soap"));
const fast_safe_stringify_1 = __importDefault(require("fast-safe-stringify"));
const UTF8 = 'utf8';
exports.UTF8 = UTF8;
/**
* @name METADATA_TYPE2FOLDER_MAP
* @description map of metadataType to metadata folder
*/
const METADATA_TYPE2FOLDER_MAP = {
Dashboard: 'DashboardFolder',
Document: 'DocumentFolder',
Report: 'ReportFolder',
EmailTemplate: 'EmailFolder'
};
exports.METADATA_TYPE2FOLDER_MAP = METADATA_TYPE2FOLDER_MAP;
/**
* @name METADATA_FOLDER2TYPE_MAP
* @description map of metadata folder to metadataType
*/
const METADATA_FOLDER2TYPE_MAP = {
DashboardFolder: 'Dashboard',
DocumentFolder: 'Document',
ReportFolder: 'Report',
EmailFolder: 'EmailTemplate'
};
exports.METADATA_FOLDER2TYPE_MAP = METADATA_FOLDER2TYPE_MAP;
/**
* @name _getSessionHeader
* @description get session header
*/
const _getSessionHeader = (authorization) => {
return {
SessionHeader: {
sessionId: authorization.accessToken
}
};
};
/**
* @name createClient
* @description create client
*/
function createClient(authorization) {
return __awaiter(this, void 0, void 0, function* () {
const metadataWsdl = authorization.options.wsdl.metadata;
let client = yield soap.createClientAsync(metadataWsdl);
client.addSoapHeader(_getSessionHeader(authorization), '', 'tns', 'http://soap.sforce.com/2006/04/metadata');
client.setEndpoint(authorization.instanceUrl);
return client;
});
}
/**
* @name invoke
* @description invoke a method
*/
const invoke = (method, args) => {
return new Promise((resolve, reject) => {
method(args, (err, result, rawResponse, soapHeader, rawRequest) => {
if (err) {
reject(err);
}
resolve(result);
});
});
};
exports.invoke = invoke;
/**
* @name callFunction
* @description call a function
*/
function callFunction(authorization, config, _getMethod, _getArgs) {
return __awaiter(this, void 0, void 0, function* () {
const client = yield createClient(authorization);
const result = yield invoke(_getMethod(client), _getArgs(config));
return JSON.stringify(result);
});
}
/**
* @name methodsMetadata
* @description methods of Metadata WSDL
*/
function methodsMetadata(params) {
return __awaiter(this, void 0, void 0, function* () {
const metadataWsdl = params.options.wsdl.metadata;
const metadataClient = yield soap.createClientAsync(metadataWsdl);
const metadataMethod = metadataClient.describe();
const result = JSON.stringify(Object.keys(metadataMethod.MetadataService.Metadata));
return result;
});
}
/**
* @name specificationMetadata
* @description specification of Metadata WSDL
*/
function specificationMetadata(params) {
return __awaiter(this, void 0, void 0, function* () {
const metadataWsdl = params.options.wsdl.metadata;
const metadataClient = yield soap.createClientAsync(metadataWsdl);
const metadataMethod = metadataClient.describe();
const result = (0, fast_safe_stringify_1.default)(metadataMethod.MetadataService.Metadata);
return result;
});
}
//# sourceMappingURL=common.js.map