New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

sundog

Package Overview
Dependencies
Maintainers
1
Versions
65
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sundog - npm Package Compare versions

Comparing version 0.0.9 to 1.0.0

build/npm/src/lift-all.js

6

build/npm/src/helpers/index.js

@@ -6,2 +6,3 @@ "use strict";

});
exports.default = void 0;
var Helpers;

@@ -13,2 +14,5 @@

exports.default = Helpers;
var _default = Helpers;
exports.default = _default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhlbHBlcnMvaW5kZXguY29mZmVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUEsT0FBQTs7QUFBQSxPQUFBLEdBQVUsVUFBQSxHQUFBLEVBQUE7U0FBUyxFO0FBQVQsQ0FBVjs7ZUFFZSxPIiwic291cmNlc0NvbnRlbnQiOlsiSGVscGVycyA9IChBV1MpIC0+IHt9XG5cbmV4cG9ydCBkZWZhdWx0IEhlbHBlcnNcbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceURL=helpers/index.coffee

32

build/npm/src/index.js

@@ -6,18 +6,13 @@ "use strict";

});
exports.default = void 0;
var _lifted = require("./lifted");
var _liftAll = _interopRequireDefault(require("./lift-all"));
var _lifted2 = _interopRequireDefault(_lifted);
var _primitives = _interopRequireDefault(require("./primitives"));
var _primitives = require("./primitives");
var _primitives2 = _interopRequireDefault(_primitives);
var _helpers = require("./helpers");
var _helpers2 = _interopRequireDefault(_helpers);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
//import Engine from "./engine"
// Sundog
// Base is a super thin wrapper around the AWS SDK, lifting each service module so you may use them with promises rather than callbacks.
// Primatives is a slightly higher level wrapper - still promise based - to give the SDK a more functional flavor.
var start;

@@ -30,3 +25,3 @@

get: function () {
return (0, _lifted2.default)(engine);
return (0, _liftAll.default)(engine);
}

@@ -37,10 +32,4 @@ },

get: function () {
return (0, _primitives2.default)(this._AWS);
return (0, _primitives.default)(this._AWS);
}
},
Helpers: {
enumerable: true,
get: function () {
return (0, _helpers2.default)(this.AWS);
}
}

@@ -50,2 +39,5 @@ });

exports.default = start;
var _default = start;
exports.default = _default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUE7O0FBQ0E7Ozs7QUFMQTs7O0FBQUEsSUFBQSxLQUFBOztBQU9BLEtBQUEsR0FBUSxVQUFBLE1BQUEsRUFBQTtTQUNOLE1BQU0sQ0FBTixnQkFBQSxDQUFBLEVBQUEsRUFDRTtBQUFBLElBQUEsSUFBQSxFQUNFO0FBQUEsTUFBQSxVQUFBLEVBQUEsSUFBQTtBQUNBLE1BQUEsR0FBQSxFQUFLLFlBQUE7ZUFBRyxzQkFBQSxNQUFBLEM7QUFBSDtBQURMLEtBREY7QUFHQSxJQUFBLEdBQUEsRUFDRTtBQUFBLE1BQUEsVUFBQSxFQUFBLElBQUE7QUFDQSxNQUFBLEdBQUEsRUFBSyxZQUFBO2VBQUcseUJBQVcsS0FBWCxJQUFBLEM7QUFBSDtBQURMO0FBSkYsR0FERixDO0FBRE0sQ0FBUjs7ZUFTZSxLIiwic291cmNlc0NvbnRlbnQiOlsiIyBTdW5kb2dcbiMgQmFzZSBpcyBhIHN1cGVyIHRoaW4gd3JhcHBlciBhcm91bmQgdGhlIEFXUyBTREssIGxpZnRpbmcgZWFjaCBzZXJ2aWNlIG1vZHVsZSBzbyB5b3UgbWF5IHVzZSB0aGVtIHdpdGggcHJvbWlzZXMgcmF0aGVyIHRoYW4gY2FsbGJhY2tzLlxuIyBQcmltYXRpdmVzIGlzIGEgc2xpZ2h0bHkgaGlnaGVyIGxldmVsIHdyYXBwZXIgLSBzdGlsbCBwcm9taXNlIGJhc2VkIC0gdG8gZ2l2ZSB0aGUgU0RLIGEgbW9yZSBmdW5jdGlvbmFsIGZsYXZvci5cblxuaW1wb3J0IEJhc2UgZnJvbSBcIi4vbGlmdC1hbGxcIlxuaW1wb3J0IFByaW1hdGl2ZXMgZnJvbSBcIi4vcHJpbWl0aXZlc1wiXG5cbnN0YXJ0ID0gKGVuZ2luZSkgLT5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMge30sXG4gICAgX0FXUzpcbiAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgIGdldDogLT4gQmFzZSBlbmdpbmVcbiAgICBBV1M6XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICBnZXQ6IC0+IFByaW1hdGl2ZXMgQF9BV1NcblxuZXhwb3J0IGRlZmF1bHQgc3RhcnRcbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceURL=index.coffee

@@ -6,138 +6,162 @@ "use strict";

});
exports.default = void 0;
var _fairmont = require("fairmont");
var _pandaParchment = require("panda-parchment");
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
var _pandaRiver = require("panda-river");
var _utils = require("./utils");
var _lift = require("../lift");
// Primitives for the service Cognito. The base entity is the "user". Methods that act on other entities, like pools or clients are prefixed as such.
var cognitoPrimative;
var cognitoPrimitive;
cognitoPrimative = function (_AWS) {
var clientGet, clientHead, clientList, cog, poolGet, poolHead, poolList;
cog = _AWS.CognitoIdentityServiceProvider;
poolList = (() => {
var _ref = _asyncToGenerator(function* (current = [], token) {
var NextToken, UserPools, params;
params = {
MaxResults: 60
};
if (token) {
params.NextToken = token;
}
({ UserPools, NextToken } = yield cog.listUserPools(params));
current = (0, _fairmont.cat)(current, UserPools);
if (NextToken) {
return yield poolList(current, NextToken);
} else {
return current;
}
});
cognitoPrimitive = function (SDK) {
var clientGet, clientHead, clientList, poolGet, poolHead, poolList;
return function poolList() {
return _ref.apply(this, arguments);
};
})();
poolHead = (() => {
var _ref2 = _asyncToGenerator(function* (name) {
var pool;
[pool] = (0, _fairmont.collect)((0, _fairmont.where)({
Name: name
}, (yield poolList())));
if (pool) {
return pool;
} else {
return false;
}
});
(function (configuration) {
var cog;
return cog = (0, _lift.applyConfiguration)(configuration, SDK.CognitoIdentityServiceProvider);
});
return function poolHead(_x) {
return _ref2.apply(this, arguments);
poolList = async function (current = [], token) {
var NextToken, UserPools, params;
params = {
MaxResults: 60
};
})();
poolGet = (() => {
var _ref3 = _asyncToGenerator(function* (name) {
var Id, UserPool;
({ Id } = yield poolHead(name));
if (!Id) {
return false;
} else {
({ UserPool } = yield cog.describeUserPool({
UserPoolId: Id
}));
return UserPool;
}
});
return function poolGet(_x2) {
return _ref3.apply(this, arguments);
};
})();
clientList = (() => {
var _ref4 = _asyncToGenerator(function* (UserPoolId, current = [], token) {
var NextToken, UserPoolClients, params;
params = {
UserPoolId,
MaxResults: 60
};
if (token) {
params.NextToken = token;
}
({ UserPoolClients, NextToken } = yield cog.listUserPoolClients(params));
current = (0, _fairmont.cat)(current, UserPoolClients);
if (NextToken) {
return yield clientList(UserPoolId, current, NextToken);
} else {
return current;
}
});
if (token) {
params.NextToken = token;
}
return function clientList(_x3) {
return _ref4.apply(this, arguments);
({
UserPools,
NextToken
} = await cog.listUserPools(params));
current = (0, _pandaParchment.cat)(current, UserPools);
if (NextToken) {
return await poolList(current, NextToken);
} else {
return current;
}
};
poolHead = async function (name) {
var pool;
[pool] = (0, _pandaRiver.collect)((0, _utils.where)({
Name: name
}, (await poolList())));
if (pool) {
return pool;
} else {
return false;
}
};
poolGet = async function (name) {
var Id, UserPool;
({
Id
} = await poolHead(name));
if (!Id) {
return false;
} else {
({
UserPool
} = await cog.describeUserPool({
UserPoolId: Id
}));
return UserPool;
}
};
clientList = async function (UserPoolId, current = [], token) {
var NextToken, UserPoolClients, params;
params = {
UserPoolId,
MaxResults: 60
};
})();
clientHead = (() => {
var _ref5 = _asyncToGenerator(function* (UserPoolOverload, ClientName) {
var Id, UserPoolName, client;
if (ClientName) {
Id = UserPoolOverload;
} else {
ClientName = UserPoolName = UserPoolOverload;
({ Id } = yield poolHead(UserPoolName));
}
if (!Id) {
return false;
} else {
[client] = (0, _fairmont.collect)((0, _fairmont.where)({ ClientName }, (yield clientList(Id))));
if (client) {
return client;
} else {
return false;
}
}
});
return function clientHead(_x4, _x5) {
return _ref5.apply(this, arguments);
};
})();
clientGet = (() => {
var _ref6 = _asyncToGenerator(function* (userPoolName, clientName) {
var ClientId, UserPoolClient, UserPoolId;
clientName || (clientName = userPoolName);
({ UserPoolId, ClientId } = yield clientHead(userPoolName, clientName));
if (ClientId) {
({ UserPoolClient } = yield cog.describeUserPoolClient({ UserPoolId, ClientId }));
return UserPoolClient;
if (token) {
params.NextToken = token;
}
({
UserPoolClients,
NextToken
} = await cog.listUserPoolClients(params));
current = (0, _pandaParchment.cat)(current, UserPoolClients);
if (NextToken) {
return await clientList(UserPoolId, current, NextToken);
} else {
return current;
}
};
clientHead = async function (UserPoolOverload, ClientName) {
var Id, UserPoolName, client;
if (ClientName) {
Id = UserPoolOverload;
} else {
ClientName = UserPoolName = UserPoolOverload;
({
Id
} = await poolHead(UserPoolName));
}
if (!Id) {
return false;
} else {
[client] = (0, _pandaRiver.collect)((0, _utils.where)({
ClientName
}, (await clientList(Id))));
if (client) {
return client;
} else {
return false;
}
});
}
};
return function clientGet(_x6, _x7) {
return _ref6.apply(this, arguments);
};
})();
return { poolList, poolHead, poolGet, clientList, clientHead, clientGet };
clientGet = async function (userPoolName, clientName) {
var ClientId, UserPoolClient, UserPoolId;
clientName || (clientName = userPoolName);
({
UserPoolId,
ClientId
} = await clientHead(userPoolName, clientName));
if (ClientId) {
({
UserPoolClient
} = await cog.describeUserPoolClient({
UserPoolId,
ClientId
}));
return UserPoolClient;
} else {
return false;
}
};
return {
poolList,
poolHead,
poolGet,
clientList,
clientHead,
clientGet
};
};
exports.default = cognitoPrimative;
var _default = cognitoPrimitive;
exports.default = _default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByaW1pdGl2ZXMvY29nbml0by5jb2ZmZWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUxBO0FBQUEsSUFBQSxnQkFBQTs7QUFPQSxnQkFBQSxHQUFtQixVQUFBLEdBQUEsRUFBQTtBQUNqQixNQUFBLFNBQUEsRUFBQSxVQUFBLEVBQUEsVUFBQSxFQUFBLE9BQUEsRUFBQSxRQUFBLEVBQUEsUUFBQTs7QUFBQSxHQUFBLFVBQUEsYUFBQSxFQUFBO0FBQ0UsUUFBQSxHQUFBO1dBQUEsR0FBQSxHQUFNLDhCQUFBLGFBQUEsRUFBa0MsR0FBRyxDQUFyQyw4QkFBQSxDO0FBRFIsR0FBQTs7QUFHQSxFQUFBLFFBQUEsR0FBVyxnQkFBQyxPQUFBLEdBQUQsRUFBQSxFQUFBLEtBQUEsRUFBQTtBQUNULFFBQUEsU0FBQSxFQUFBLFNBQUEsRUFBQSxNQUFBO0FBQUEsSUFBQSxNQUFBLEdBQVM7QUFBQSxNQUFBLFVBQUEsRUFBWTtBQUFaLEtBQVQ7O0FBQ0EsUUFBQSxLQUFBLEVBQUE7QUFBQSxNQUFBLE1BQU0sQ0FBTixTQUFBLEdBQUEsS0FBQTs7O0FBQ0EsS0FBQTtBQUFBLE1BQUEsU0FBQTtBQUFBLE1BQUE7QUFBQSxRQUF5QixNQUFNLEdBQUcsQ0FBSCxhQUFBLENBQS9CLE1BQStCLENBQS9CO0FBQ0EsSUFBQSxPQUFBLEdBQVUseUJBQUEsT0FBQSxFQUFBLFNBQUEsQ0FBVjs7QUFDQSxRQUFBLFNBQUEsRUFBQTtBQUNFLGFBQUEsTUFBTSxRQUFBLENBQUEsT0FBQSxFQURSLFNBQ1EsQ0FBTjtBQURGLEtBQUEsTUFBQTthQUFBLE87O0FBTFMsR0FBWDs7QUFVQSxFQUFBLFFBQUEsR0FBVyxnQkFBQSxJQUFBLEVBQUE7QUFDVCxRQUFBLElBQUE7QUFBQSxLQUFBLElBQUEsSUFBUyx5QkFBUSxrQkFBTTtBQUFBLE1BQUEsSUFBQSxFQUFNO0FBQU4sS0FBTixHQUFrQixNQUFNLFFBQWhDLEVBQVEsRUFBUixD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ZSBzZXJ2aWNlIENvZ25pdG8uICBUaGUgYmFzZSBlbnRpdHkgaXMgdGhlIFwidXNlclwiLiAgTWV0aG9kcyB0aGF0IGFjdCBvbiBvdGhlciBlbnRpdGllcywgbGlrZSBwb29scyBvciBjbGllbnRzIGFyZSBwcmVmaXhlZCBhcyBzdWNoLlxuXG5pbXBvcnQge2NhdH0gZnJvbSBcInBhbmRhLXBhcmNobWVudFwiXG5pbXBvcnQge2NvbGxlY3R9IGZyb20gXCJwYW5kYS1yaXZlclwiXG5pbXBvcnQge3doZXJlfSBmcm9tIFwiLi91dGlsc1wiXG5pbXBvcnQge2FwcGx5Q29uZmlndXJhdGlvbn0gZnJvbSBcIi4uL2xpZnRcIlxuXG5jb2duaXRvUHJpbWl0aXZlID0gKFNESykgLT5cbiAgKGNvbmZpZ3VyYXRpb24pIC0+XG4gICAgY29nID0gYXBwbHlDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24sIFNESy5Db2duaXRvSWRlbnRpdHlTZXJ2aWNlUHJvdmlkZXJcblxuICBwb29sTGlzdCA9IChjdXJyZW50PVtdLCB0b2tlbikgLT5cbiAgICBwYXJhbXMgPSBNYXhSZXN1bHRzOiA2MFxuICAgIHBhcmFtcy5OZXh0VG9rZW4gPSB0b2tlbiBpZiB0b2tlblxuICAgIHtVc2VyUG9vbHMsIE5leHRUb2tlbn0gPSBhd2FpdCBjb2cubGlzdFVzZXJQb29scyBwYXJhbXNcbiAgICBjdXJyZW50ID0gY2F0IGN1cnJlbnQsIFVzZXJQb29sc1xuICAgIGlmIE5leHRUb2tlblxuICAgICAgYXdhaXQgcG9vbExpc3QgY3VycmVudCwgTmV4dFRva2VuXG4gICAgZWxzZVxuICAgICAgY3VycmVudFxuXG4gIHBvb2xIZWFkID0gKG5hbWUpIC0+XG4gICAgW3Bvb2xdID0gY29sbGVjdCB3aGVyZSBOYW1lOiBuYW1lLCBhd2FpdCBwb29sTGlzdCgpXG4gICAgaWYgcG9vbCB0aGVuIHBvb2wgZWxzZSBmYWxzZVxuXG4gIHBvb2xHZXQgPSAobmFtZSkgLT5cbiAgICB7SWR9ID0gYXdhaXQgcG9vbEhlYWQgbmFtZVxuICAgIGlmICFJZFxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgZWxzZVxuICAgICAge1VzZXJQb29sfSA9IGF3YWl0IGNvZy5kZXNjcmliZVVzZXJQb29sIFVzZXJQb29sSWQ6IElkXG4gICAgICBVc2VyUG9vbFxuXG4gIGNsaWVudExpc3QgPSAoVXNlclBvb2xJZCwgY3VycmVudD1bXSwgdG9rZW4pIC0+XG4gICAgcGFyYW1zID0ge1xuICAgICAgVXNlclBvb2xJZFxuICAgICAgTWF4UmVzdWx0czogNjBcbiAgICB9XG4gICAgcGFyYW1zLk5leHRUb2tlbiA9IHRva2VuIGlmIHRva2VuXG4gICAge1VzZXJQb29sQ2xpZW50cywgTmV4dFRva2VufSA9IGF3YWl0IGNvZy5saXN0VXNlclBvb2xDbGllbnRzIHBhcmFtc1xuICAgIGN1cnJlbnQgPSBjYXQgY3VycmVudCwgVXNlclBvb2xDbGllbnRzXG4gICAgaWYgTmV4dFRva2VuXG4gICAgICBhd2FpdCBjbGllbnRMaXN0IFVzZXJQb29sSWQsIGN1cnJlbnQsIE5leHRUb2tlblxuICAgIGVsc2VcbiAgICAgIGN1cnJlbnRcblxuICBjbGllbnRIZWFkID0gKFVzZXJQb29sT3ZlcmxvYWQsIENsaWVudE5hbWUpIC0+XG4gICAgaWYgQ2xpZW50TmFtZVxuICAgICAgSWQgPSBVc2VyUG9vbE92ZXJsb2FkXG4gICAgZWxzZVxuICAgICAgQ2xpZW50TmFtZSA9IFVzZXJQb29sTmFtZSA9IFVzZXJQb29sT3ZlcmxvYWRcbiAgICAgIHtJZH0gPSBhd2FpdCBwb29sSGVhZCBVc2VyUG9vbE5hbWVcblxuICAgIGlmICFJZFxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgZWxzZVxuICAgICAgW2NsaWVudF0gPSBjb2xsZWN0IHdoZXJlIHtDbGllbnROYW1lfSwgYXdhaXQgY2xpZW50TGlzdChJZClcbiAgICAgIGlmIGNsaWVudCB0aGVuIGNsaWVudCBlbHNlIGZhbHNlXG5cbiAgY2xpZW50R2V0ID0gKHVzZXJQb29sTmFtZSwgY2xpZW50TmFtZSkgLT5cbiAgICBjbGllbnROYW1lIHx8PSB1c2VyUG9vbE5hbWVcbiAgICB7VXNlclBvb2xJZCwgQ2xpZW50SWR9ID0gYXdhaXQgY2xpZW50SGVhZCB1c2VyUG9vbE5hbWUsIGNsaWVudE5hbWVcbiAgICBpZiBDbGllbnRJZFxuICAgICAge1VzZXJQb29sQ2xpZW50fSA9IGF3YWl0IGNvZy5kZXNjcmliZVVzZXJQb29sQ2xpZW50IHtVc2VyUG9vbElkLCBDbGllbnRJZH1cbiAgICAgIFVzZXJQb29sQ2xpZW50XG4gICAgZWxzZVxuICAgICAgZmFsc2VcblxuXG4gIHtwb29sTGlzdCwgcG9vbEhlYWQsIHBvb2xHZXQsIGNsaWVudExpc3QsIGNsaWVudEhlYWQsIGNsaWVudEdldH1cblxuXG5leHBvcnQgZGVmYXVsdCBjb2duaXRvUHJpbWl0aXZlXG4iXSwic291cmNlUm9vdCI6IiJ9
//# sourceURL=primitives/cognito.coffee

@@ -6,8 +6,15 @@ "use strict";

});
exports.default = void 0;
var _fairmont = require("fairmont");
var _pandaGarden = require("panda-garden");
var _pandaParchment = require("panda-parchment");
var _pandaGenerics = require("panda-generics");
var _pandaRiver = require("panda-river");
var _utils = require("./utils");
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
var _lift = require("../lift");

@@ -18,18 +25,20 @@ // Primitives for the service DynamoDB.

// prefixed "table*", whereas item methods will have no prefix.
var dynamodbPrimative,
var dynamodbPrimitive,
indexOf = [].indexOf;
dynamodbPrimative = function (_AWS) {
var _areIndexesReady, _catCurrent, _delimiter, _isTableReady, _mark, _parseConditional, _parseName, _parseQuery, _qv, _setupCurrent, _transform, db, del, get, keysFilter, parse, put, query, qv, scan, tableCreate, tableDel, tableEmpty, tableGet, tableUpdate, tableWaitForDeleted, tableWaitForReady, to, update;
({
DynamoDB: db
} = _AWS);
//===========================================================================
// Tables
//===========================================================================
tableGet = (() => {
var _ref = _asyncToGenerator(function* (name) {
dynamodbPrimitive = function (SDK) {
return function (configuration) {
var _areIndexesReady, _catCurrent, _delimiter, _isTableReady, _mark, _parseConditional, _parseName, _parseQuery, _qv, _setupCurrent, _transform, db, del, get, keysFilter, parse, put, query, qv, scan, tableCreate, tableDel, tableEmpty, tableGet, tableUpdate, tableWaitForDeleted, tableWaitForReady, to, update;
db = (0, _lift.applyConfiguration)(configuration, SDK.DynamoDB); //===========================================================================
// Tables
//===========================================================================
tableGet = async function (name) {
var Table, e;
try {
({ Table } = yield db.describeTable({
({
Table
} = await db.describeTable({
TableName: name

@@ -42,10 +51,5 @@ }));

}
});
};
return function tableGet(_x) {
return _ref.apply(this, arguments);
};
})();
tableCreate = (() => {
var _ref2 = _asyncToGenerator(function* (name, keys, attributes, throughput, options = {}) {
tableCreate = async function (name, keys, attributes, throughput, options = {}) {
var TableDescription, p;

@@ -58,12 +62,9 @@ p = {

};
({ TableDescription } = yield db.createTable((0, _fairmont.merge)(p, options)));
({
TableDescription
} = await db.createTable((0, _pandaParchment.merge)(p, options)));
return TableDescription;
});
};
return function tableCreate(_x2, _x3, _x4, _x5) {
return _ref2.apply(this, arguments);
};
})();
tableUpdate = (() => {
var _ref3 = _asyncToGenerator(function* (name, attributes, throughput, options = {}) {
tableUpdate = async function (name, attributes, throughput, options = {}) {
var TableDescription, p;

@@ -74,18 +75,18 @@ p = {

};
if (throughput) {
p.ProvisionedThroughput = throughput;
}
({ TableDescription } = yield db.updateTable((0, _fairmont.merge)(p, options)));
({
TableDescription
} = await db.updateTable((0, _pandaParchment.merge)(p, options)));
return TableDescription;
});
};
return function tableUpdate(_x6, _x7, _x8) {
return _ref3.apply(this, arguments);
};
})();
tableDel = (() => {
var _ref4 = _asyncToGenerator(function* (name) {
tableDel = async function (name) {
var e;
try {
return yield db.deleteTable({
return await db.deleteTable({
TableName: name

@@ -97,17 +98,16 @@ });

}
});
};
return function tableDel(_x9) {
return _ref4.apply(this, arguments);
};
})();
_isTableReady = (() => {
var _ref5 = _asyncToGenerator(function* (name) {
_isTableReady = async function (name) {
var TableStatus;
while (true) {
({ TableStatus } = yield tableGet(name));
({
TableStatus
} = await tableGet(name));
if (!TableStatus) {
throw new Error(`Cannot find table ${name}`);
} else if (TableStatus !== "ACTIVE") {
yield (0, _fairmont.sleep)(5000);
await (0, _pandaParchment.sleep)(5000);
} else {

@@ -117,252 +117,277 @@ return true;

}
});
};
return function _isTableReady(_x10) {
return _ref5.apply(this, arguments);
};
})();
_areIndexesReady = (() => {
var _ref6 = _asyncToGenerator(function* (name) {
_areIndexesReady = async function (name) {
var indexes, statuses;
while (true) {
({
GlobalSecondaryIndexes: indexes
} = yield tableGet(name));
} = await tableGet(name));
if (!indexes) {
return true;
}
statuses = (0, _fairmont.collect)((0, _fairmont.project)("IndexStatus", indexes));
if ((0, _fairmont.empty)((0, _fairmont.difference)(statuses, ["ACTIVE"]))) {
statuses = (0, _pandaRiver.collect)((0, _pandaRiver.project)("IndexStatus", indexes));
if ((0, _pandaParchment.empty)((0, _pandaParchment.difference)(statuses, ["ACTIVE"]))) {
return true;
} else {
yield (0, _fairmont.sleep)(5000);
await (0, _pandaParchment.sleep)(5000);
}
}
});
}; // The optional second parameter allows the developer to also wait on all global secondary indexes to also be ready.
return function _areIndexesReady(_x11) {
return _ref6.apply(this, arguments);
};
})();
// The optional second parameter allows the developer to also wait on all global secondary indexes to also be ready.
tableWaitForReady = (() => {
var _ref7 = _asyncToGenerator(function* (name, indexWait) {
tableWaitForReady = async function (name, indexWait) {
var checks;
checks = [_isTableReady(name)];
if (indexWait) {
checks.push(_areIndexesReady(name));
}
return yield Promise.all(checks);
});
return function tableWaitForReady(_x12, _x13) {
return _ref7.apply(this, arguments);
return await Promise.all(checks);
};
})();
tableWaitForDeleted = (() => {
var _ref8 = _asyncToGenerator(function* (name) {
tableWaitForDeleted = async function (name) {
var TableStatus;
while (true) {
({ TableStatus } = yield tableGet(name));
({
TableStatus
} = await tableGet(name));
if (!TableStatus) {
return true;
} else {
yield (0, _fairmont.sleep)(5000);
await (0, _pandaParchment.sleep)(5000);
}
}
}; // TODO: make this more efficient by throttling to X connections at once. AWS
// only supports N requests per second from an account, and I don't want this
// to violate that limit, but we can do better than one at a time.
keysFilter = (0, _pandaGarden.curry)(function (keys, item) {
var f;
f = function (key) {
return indexOf.call(keys, key) >= 0;
};
return (0, _pandaParchment.pick)(f, item);
});
return function tableWaitForDeleted(_x14) {
return _ref8.apply(this, arguments);
};
})();
// TODO: make this more efficient by throttling to X connections at once. AWS
// only supports N requests per second from an account, and I don't want this
// to violate that limit, but we can do better than one at a time.
keysFilter = (0, _fairmont.curry)(function (keys, item) {
var f;
f = function (key) {
return indexOf.call(keys, key) >= 0;
};
return (0, _fairmont.pick)(f, item);
});
tableEmpty = (() => {
var _ref9 = _asyncToGenerator(function* (name) {
tableEmpty = async function (name) {
var Items, KeySchema, filter, i, j, len, results1;
({ KeySchema } = yield tableGet(name));
filter = keysFilter((0, _fairmont.collect)((0, _fairmont.project)("AttributeName", KeySchema)));
({ Items } = yield scan(name));
({
KeySchema
} = await tableGet(name));
filter = keysFilter((0, _pandaRiver.collect)((0, _pandaRiver.project)("AttributeName", KeySchema)));
({
Items
} = await scan(name));
results1 = [];
for (j = 0, len = Items.length; j < len; j++) {
i = Items[j];
results1.push((yield del(name, filter(i))));
results1.push((await del(name, filter(i))));
}
return results1;
});
}; //===========================================================================
// Type Helpers
//===========================================================================
// DynamoDB includes type information mapped into its data strctures.
// It expects data to be input that way, and includes it when fetched.
// These helpers write and parse that type system.
return function tableEmpty(_x15) {
return _ref9.apply(this, arguments);
};
})();
//===========================================================================
// Type Helpers
//===========================================================================
// DynamoDB includes type information mapped into its data strctures.
// It expects data to be input that way, and includes it when fetched.
// These helpers write and parse that type system.
_transform = function (f) {
return function (x) {
var k, out, v;
if ((0, _fairmont.isObject)(x)) {
out = {};
for (k in x) {
v = x[k];
out[k] = _mark("anyonymousDynamodbValue", f(v));
_transform = function (f) {
return function (x) {
var k, out, v;
if ((0, _pandaParchment.isObject)(x)) {
out = {};
for (k in x) {
v = x[k];
out[k] = _mark("anyonymousDynamodbValue", f(v));
}
return _mark("namedDynamodbValue", out);
} else {
return _mark("anyonymousDynamodbValue", f(x));
}
return _mark("namedDynamodbValue", out);
} else {
return _mark("anyonymousDynamodbValue", f(x));
}
};
};
};
_mark = function (name, object) {
return Object.defineProperty(object, "name", {
value: name
});
};
to = {
S: _transform(function (s) {
return {
S: s.toString()
};
}),
N: _transform(function (n) {
return {
N: n.toString()
};
}),
B: _transform(function (b) {
return {
B: b.toString("base64")
};
}),
SS: _transform(function (a) {
var i;
return {
SS: function () {
var j, len, results1;
results1 = [];
for (j = 0, len = a.length; j < len; j++) {
i = a[j];
results1.push(i.toString());
}
return results1;
}()
};
}),
NS: _transform(function (a) {
var i;
return {
NS: function () {
var j, len, results1;
results1 = [];
for (j = 0, len = a.length; j < len; j++) {
i = a[j];
results1.push(i.toString());
}
return results1;
}()
};
}),
BS: _transform(function (a) {
var i;
return {
BS: function () {
var j, len, results1;
results1 = [];
for (j = 0, len = a.length; j < len; j++) {
i = a[j];
results1.push(i.toString("base64"));
}
return results1;
}()
};
}),
M: _transform(function (m) {
return {
M: m
};
}),
L: _transform(function (l) {
return {
L: l
};
}),
Null: _transform(function (n) {
return {
NULL: n
};
}),
Bool: _transform(function (b) {
return {
BOOL: b
};
})
};
parse = function (attributes) {
var dataType, i, name, result, typeObj, v;
result = {};
for (name in attributes) {
typeObj = attributes[name];
dataType = (0, _fairmont.first)((0, _fairmont.keys)(typeObj));
v = (0, _fairmont.first)((0, _fairmont.values)(typeObj));
result[name] = function () {
var j, len, len1, q, results1, results2;
switch (dataType) {
case "S":
case "SS":
case "L":
case "BOOL":
return v;
case "N":
return new Number(v);
case "B":
return Buffer.from(v, "base64");
case "NS":
_mark = function (name, object) {
return Object.defineProperty(object, "name", {
value: name
});
};
to = {
S: _transform(function (s) {
return {
S: s.toString()
};
}),
N: _transform(function (n) {
return {
N: n.toString()
};
}),
B: _transform(function (b) {
return {
B: b.toString("base64")
};
}),
SS: _transform(function (a) {
var i;
return {
SS: function () {
var j, len, results1;
results1 = [];
for (j = 0, len = v.length; j < len; j++) {
i = v[j];
results1.push(new Number(i));
for (j = 0, len = a.length; j < len; j++) {
i = a[j];
results1.push(i.toString());
}
return results1;
case "BS":
results2 = [];
for (q = 0, len1 = v.length; q < len1; q++) {
i = v[q];
results2.push(Buffer.from(i, "base64"));
}()
};
}),
NS: _transform(function (a) {
var i;
return {
NS: function () {
var j, len, results1;
results1 = [];
for (j = 0, len = a.length; j < len; j++) {
i = a[j];
results1.push(i.toString());
}
return results2;
case "NULL":
if (v) {
return null;
} else {
return void 0;
return results1;
}()
};
}),
BS: _transform(function (a) {
var i;
return {
BS: function () {
var j, len, results1;
results1 = [];
for (j = 0, len = a.length; j < len; j++) {
i = a[j];
results1.push(i.toString("base64"));
}
break;
case "M":
return parse(v);
default:
throw new Error(`Unable to parse object for DynamoDB attribute type. ${dataType}`);
}
}();
}
return result;
};
//===========================================================================
// Items
//===========================================================================
get = (() => {
var _ref10 = _asyncToGenerator(function* (name, key, options = {}) {
return results1;
}()
};
}),
M: _transform(function (m) {
return {
M: m
};
}),
L: _transform(function (l) {
return {
L: l
};
}),
Null: _transform(function (n) {
return {
NULL: n
};
}),
Bool: _transform(function (b) {
return {
BOOL: b
};
})
};
parse = function (attributes) {
var dataType, i, name, result, typeObj, v;
result = {};
for (name in attributes) {
typeObj = attributes[name];
dataType = (0, _pandaParchment.first)((0, _pandaParchment.keys)(typeObj));
v = (0, _pandaParchment.first)((0, _pandaParchment.values)(typeObj));
result[name] = function () {
var j, len, len1, q, results1, results2;
switch (dataType) {
case "S":
case "SS":
case "L":
case "BOOL":
return v;
case "N":
return new Number(v);
case "B":
return Buffer.from(v, "base64");
case "NS":
results1 = [];
for (j = 0, len = v.length; j < len; j++) {
i = v[j];
results1.push(new Number(i));
}
return results1;
case "BS":
results2 = [];
for (q = 0, len1 = v.length; q < len1; q++) {
i = v[q];
results2.push(Buffer.from(i, "base64"));
}
return results2;
case "NULL":
if (v) {
return null;
} else {
return void 0;
}
break;
case "M":
return parse(v);
default:
throw new Error(`Unable to parse object for DynamoDB attribute type. ${dataType}`);
}
}();
}
return result;
}; //===========================================================================
// Items
//===========================================================================
get = async function (name, key, options = {}) {
var ConsumedCapacity, Item, ReturnConsumedCapacity, p;
({ ReturnConsumedCapacity } = options);
({
ReturnConsumedCapacity
} = options);
p = {

@@ -372,16 +397,18 @@ TableName: name,

};
({ Item, ConsumedCapacity } = yield db.getItem((0, _fairmont.merge)(p, options)));
({
Item,
ConsumedCapacity
} = await db.getItem((0, _pandaParchment.merge)(p, options)));
if (ReturnConsumedCapacity) {
return { Item, ConsumedCapacity };
return {
Item,
ConsumedCapacity
};
} else {
return Item;
}
});
};
return function get(_x16, _x17) {
return _ref10.apply(this, arguments);
};
})();
put = (() => {
var _ref11 = _asyncToGenerator(function* (name, item, options = {}) {
put = async function (name, item, options = {}) {
var p;

@@ -392,11 +419,6 @@ p = {

};
return yield db.putItem((0, _fairmont.merge)(p, options));
});
return await db.putItem((0, _pandaParchment.merge)(p, options));
};
return function put(_x18, _x19) {
return _ref11.apply(this, arguments);
};
})();
del = (() => {
var _ref12 = _asyncToGenerator(function* (name, key, options = {}) {
del = async function (name, key, options = {}) {
var p;

@@ -407,132 +429,161 @@ p = {

};
return yield db.deleteItem((0, _fairmont.merge)(p, options));
});
return await db.deleteItem((0, _pandaParchment.merge)(p, options));
}; //===========================================================================
// Queries and Scans against Tables and Indexes
//===========================================================================
return function del(_x20, _x21) {
return _ref12.apply(this, arguments);
_delimiter = "<###SUNDOGDYNAMODB###>";
_setupCurrent = function () {
return {
Items: [],
Count: 0,
ScannedCount: 0,
LastEvaluatedKey: false,
ConsumedCapacity: []
};
};
})();
//===========================================================================
// Queries and Scans against Tables and Indexes
//===========================================================================
_delimiter = "<###SUNDOGDYNAMODB###>";
_setupCurrent = function () {
return {
Items: [],
Count: 0,
ScannedCount: 0,
LastEvaluatedKey: false,
ConsumedCapacity: []
_catCurrent = function (current, results) {
var ConsumedCapacity, Count, Items, LastEvaluatedKey, ScannedCount;
({
Items,
Count,
ScannedCount,
LastEvaluatedKey,
ConsumedCapacity
} = results);
current.Items = (0, _pandaParchment.cat)(current.Items, Items);
current.Count += Count;
current.ScannedCount += ScannedCount;
if (LastEvaluatedKey) {
current.LastEvaluatedKey = LastEvaluatedKey;
}
current.ConsumedCapacity = current.ConsumedCapacity.push(ConsumedCapacity);
return current;
};
};
_catCurrent = function (current, results) {
var ConsumedCapacity, Count, Items, LastEvaluatedKey, ScannedCount;
({ Items, Count, ScannedCount, LastEvaluatedKey, ConsumedCapacity } = results);
current.Items = (0, _fairmont.cat)(current.Items, Items);
current.Count += Count;
current.ScannedCount += ScannedCount;
if (LastEvaluatedKey) {
current.LastEvaluatedKey = LastEvaluatedKey;
}
current.ConsumedCapacity = current.ConsumedCapacity.push(ConsumedCapacity);
return current;
};
_parseName = function (name) {
var parts;
if (!name) {
throw new Error("Must provide table name.");
}
parts = name.split(":");
if (parts.length > 1) {
_parseName = function (name) {
var parts;
if (!name) {
throw new Error("Must provide table name.");
}
parts = name.split(":");
if (parts.length > 1) {
return {
tableName: parts[0],
indexName: parts[1]
};
} else {
return {
tableName: name,
indexName: false
};
}
};
_parseConditional = function (ex, count = 0) {
var Values, re, result;
if (!ex) {
return {
result: false,
values: false,
count
};
}
Values = {};
re = new RegExp(`${_delimiter}.+?${_delimiter}`, "g");
result = ex.replace(re, function (match) {
var obj, placeholder;
[, obj] = match.split(_delimiter);
placeholder = `:param${count}`;
count++;
Values[placeholder] = JSON.parse(obj);
return placeholder; // Return placeholder to the expression we are processing.
});
return {
tableName: parts[0],
indexName: parts[1]
result,
values: Values,
count
};
} else {
return {
tableName: name,
indexName: false
};
}
};
_parseConditional = function (ex, count = 0) {
var Values, re, result;
if (!ex) {
return {
result: false,
values: false,
};
_parseQuery = function (options, name, keyEx, filterEx) {
var count, filter, filterValues, indexName, key, keyValues, out, tableName;
({
tableName,
indexName
} = _parseName(name));
({
result: key,
values: keyValues,
count
} = _parseConditional(keyEx));
({
result: filter,
values: filterValues
} = _parseConditional(filterEx, count));
out = options;
out.TableName = tableName;
if (indexName) {
out.IndexName = indexName;
}
if (key) {
out.KeyConditionExpression = key;
}
if (filter) {
out.FilterExpression = filter;
}
if (keyValues || filterValues) {
out.ExpressionAttributeValues = (0, _pandaParchment.merge)(keyValues || {}, filterValues || {});
}
return out;
}; // qv produces query strings with delimited values SunDog can parse.
_qv = function (o) {
var delimit;
delimit = function (s) {
return `${_delimiter}${s}${_delimiter}`;
}; // Determine if this is a DynamoDB value, and whether is anyonymous or named.
if (o.name === "anyonymousDynamodbValue") {
return delimit(JSON.stringify(o));
} else if (o.name === "namedDynamodbValue") {
return delimit(JSON.stringify((0, _pandaParchment.first)((0, _pandaParchment.values)(o))));
} else {
throw new Error(`Unable to create stringified query value for unrecongied object ${JSON.stringify(o)}`);
}
};
qv = _pandaGenerics.Method.create();
_pandaGenerics.Method.define(qv, _pandaParchment.isFunction, function (f) {
return function (x) {
return _qv(f(x));
};
}
Values = {};
re = new RegExp(`${_delimiter}.+?${_delimiter}`, "g");
result = ex.replace(re, function (match) {
var obj, placeholder;
[, obj] = match.split(_delimiter);
placeholder = `:param${count}`;
count++;
Values[placeholder] = JSON.parse(obj);
return placeholder; // Return placeholder to the expression we are processing.
});
return {
result,
values: Values,
count
};
};
_parseQuery = function (options, name, keyEx, filterEx) {
var count, filter, filterValues, indexName, key, keyValues, out, tableName;
({ tableName, indexName } = _parseName(name));
({
result: key,
values: keyValues,
count
} = _parseConditional(keyEx));
({
result: filter,
values: filterValues
} = _parseConditional(filterEx, count));
out = options;
out.TableName = tableName;
if (indexName) {
out.IndexName = indexName;
}
if (key) {
out.KeyConditionExpression = key;
}
if (filter) {
out.FilterExpression = filter;
}
if (keyValues || filterValues) {
out.ExpressionAttributeValues = (0, _fairmont.merge)(keyValues || {}, filterValues || {});
}
return out;
};
// qv produces query strings with delimited values SunDog can parse.
_qv = function (o) {
var delimit;
delimit = function (s) {
return `${_delimiter}${s}${_delimiter}`;
};
// Determine if this is a DynamoDB value, and whether is anyonymous or named.
if (o.name === "anyonymousDynamodbValue") {
return delimit(JSON.stringify(o));
} else if (o.name === "namedDynamodbValue") {
return delimit(JSON.stringify((0, _fairmont.first)((0, _fairmont.values)(o))));
} else {
throw new Error(`Unable to create stringified query value for unrecongied object ${JSON.stringify(o)}`);
}
};
qv = _fairmont.Method.create();
_fairmont.Method.define(qv, _fairmont.isFunction, function (f) {
return function (x) {
return _qv(f(x));
};
});
_fairmont.Method.define(qv, _fairmont.isObject, function (o) {
return _qv(o);
});
update = (() => {
var _ref13 = _asyncToGenerator(function* (name, key, updateEx, options = {}) {
var p, result;
_pandaGenerics.Method.define(qv, _pandaParchment.isObject, function (o) {
return _qv(o);
});
update = async function (name, key, updateEx, options = {}) {
var _values, p, result;
p = {

@@ -542,75 +593,106 @@ TableName: name,

};
({ result, values: _fairmont.values } = _parseConditional(updateEx));
({
result,
values: _values
} = _parseConditional(updateEx));
if (result) {
options.UpdateExpression = result;
}
if (_fairmont.values) {
options.ExpressionAttributeValues = _fairmont.values;
if (_values) {
options.ExpressionAttributeValues = _values;
}
return yield db.updateItem((0, _fairmont.merge)(p, options));
});
return function update(_x22, _x23, _x24) {
return _ref13.apply(this, arguments);
return await db.updateItem((0, _pandaParchment.merge)(p, options));
};
})();
query = (() => {
var _ref14 = _asyncToGenerator(function* (name, keyEx, filterEx, options = {}, current) {
query = async function (name, keyEx, filterEx, options = {}, current) {
var p, results;
if (!current) {
current = _setupCurrent();
}
if (!current.options) {
current.options = options = _parseQuery(options, name, keyEx, filterEx);
} else {
({ options } = current);
({
options
} = current);
}
p = {};
if (current.LastEvaluatedKey) {
p.ExclusiveStartKey = current.LastEvaluatedKey;
}
results = yield db.query((0, _fairmont.merge)(p, options));
results = await db.query((0, _pandaParchment.merge)(p, options));
current = _catCurrent(current, results);
if (!results.LastEvaluatedKey || options.Limit) {
return current;
} else {
return yield query(name, keyEx, filterEx, options, current);
return await query(name, keyEx, filterEx, options, current);
}
});
};
return function query(_x25, _x26, _x27) {
return _ref14.apply(this, arguments);
};
})();
scan = (() => {
var _ref15 = _asyncToGenerator(function* (name, filterEx, options = {}, current) {
scan = async function (name, filterEx, options = {}, current) {
var p, results;
if (!current) {
current = _setupCurrent();
}
if (!current.options) {
current.options = options = _parseQuery(options, name, false, filterEx);
} else {
({ options } = current);
({
options
} = current);
}
p = {};
if (current.LastEvaluatedKey) {
p.ExclusiveStartKey = current.LastEvaluatedKey;
}
results = yield db.scan((0, _fairmont.merge)(p, options));
results = await db.scan((0, _pandaParchment.merge)(p, options));
current = _catCurrent(current, results);
if (!results.LastEvaluatedKey || options.Limit) {
return current;
} else {
return yield scan(name, filterEx, options, current);
return await scan(name, filterEx, options, current);
}
});
};
return function scan(_x28, _x29) {
return _ref15.apply(this, arguments);
return {
tableGet,
tableCreate,
tableUpdate,
tableDel,
tableWaitForReady,
tableWaitForDeleted,
tableEmpty,
keysFilter,
to,
parse,
merge: _pandaParchment.merge,
get,
put,
del,
qv,
update,
query,
scan
};
})();
return { tableGet, tableCreate, tableUpdate, tableDel, tableWaitForReady, tableWaitForDeleted, tableEmpty, keysFilter, to, parse, merge: _fairmont.merge, get, put, del, qv, update, query, scan };
};
};
exports.default = dynamodbPrimative;
var _default = dynamodbPrimitive;
exports.default = _default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByaW1pdGl2ZXMvZHluYW1vZGIuY29mZmVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFLQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFWQTs7OztBQUFBLElBQUEsaUJBQUE7QUFBQSxJQUFBLE9BQUEsR0FBQSxHQUFBLE9BQUE7O0FBWUEsaUJBQUEsR0FBb0IsVUFBQSxHQUFBLEVBQUE7U0FDbEIsVUFBQSxhQUFBLEVBQUE7QUFDRSxRQUFBLGdCQUFBLEVBQUEsV0FBQSxFQUFBLFVBQUEsRUFBQSxhQUFBLEVBQUEsS0FBQSxFQUFBLGlCQUFBLEVBQUEsVUFBQSxFQUFBLFdBQUEsRUFBQSxHQUFBLEVBQUEsYUFBQSxFQUFBLFVBQUEsRUFBQSxFQUFBLEVBQUEsR0FBQSxFQUFBLEdBQUEsRUFBQSxVQUFBLEVBQUEsS0FBQSxFQUFBLEdBQUEsRUFBQSxLQUFBLEVBQUEsRUFBQSxFQUFBLElBQUEsRUFBQSxXQUFBLEVBQUEsUUFBQSxFQUFBLFVBQUEsRUFBQSxRQUFBLEVBQUEsV0FBQSxFQUFBLG1CQUFBLEVBQUEsaUJBQUEsRUFBQSxFQUFBLEVBQUEsTUFBQTs7QUFBQSxJQUFBLEVBQUEsR0FBSyw4QkFBQSxhQUFBLEVBQWtDLEdBQUcsQ0FBMUMsUUFBSyxDQUFMLENBREYsQzs7OztBQU1FLElBQUEsUUFBQSxHQUFXLGdCQUFBLElBQUEsRUFBQTtBQUNULFVBQUEsS0FBQSxFQUFBLENBQUE7O0FBQUEsVUFBQTtBQUNFLFNBQUE7QUFBQSxVQUFBO0FBQUEsWUFBVSxNQUFNLEVBQUUsQ0FBRixhQUFBLENBQWlCO0FBQUEsVUFBQSxTQUFBLEVBQVc7QUFBWCxTQUFqQixDQUFoQjtlQURGLEs7QUFBQSxPQUFBLENBQUEsT0FBQSxLQUFBLEVBQUE7QUFHTSxRQUFBLENBQUEsR0FBQSxLQUFBO2VBQ0oscUJBQUEsQ0FBQSxFQUFBLEdBQUEsRUFKRiwyQkFJRSxDOztBQUxPLEtBQVg7O0FBT0EsSUFBQSxXQUFBLEdBQWMsZ0JBQUEs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QUFVLFdBQUEsQ0FBQSxPQUFBLEVBQUEsSUFBQSxFQUFBLEtBQUEsRUFEOUIsUUFDOEIsQ0FBNUI7QUFERixPQUFBLE1BQUE7QUFHRSxTQUFBO0FBQUEsVUFBQTtBQUFBLFlBSEYsT0FHRTs7O0FBRUYsTUFBQSxDQUFBLEdBQUksRUFBSjs7QUFDQSxVQUFrRCxPQUFPLENBQXpELGdCQUFBLEVBQUE7QUFBQSxRQUFBLENBQUMsQ0FBRCxpQkFBQSxHQUFzQixPQUFPLENBQTdCLGdCQUFBOzs7QUFDQSxNQUFBLE9BQUEsR0FBVSxNQUFNLEVBQUUsQ0FBRixJQUFBLENBQVEsMkJBQUEsQ0FBQSxFQUFkLE9BQWMsQ0FBUixDQUFoQjtBQUVBLE1BQUEsT0FBQSxHQUFVLFdBQUEsQ0FBQSxPQUFBLEVBQUEsT0FBQSxDQUFWOztBQUNBLFVBQUcsQ0FBQyxPQUFPLENBQVIsZ0JBQUEsSUFBNkIsT0FBTyxDQUF2QyxLQUFBLEVBQUE7ZUFBQSxPO0FBQUEsT0FBQSxNQUFBO0FBR0UsZUFBQSxNQUFNLElBQUEsQ0FBQSxJQUFBLEVBQUEsUUFBQSxFQUFBLE9BQUEsRUFIUixPQUdRLENBQU47O0FBZkcsS0FBUDs7V0FtQkE7QUFBQSxNQUFBLFFBQUE7QUFBQSxNQUFBLFdBQUE7QUFBQSxNQUFBLFdBQUE7QUFBQSxNQUFBLFFBQUE7QUFBQSxNQUFBLGlCQUFBO0FBQUEsTUFBQSxtQkFBQTtBQUFBLE1BQUEsVUFBQTtBQUFBLE1BQUEsVUFBQTtBQUFBLE1BQUEsRUFBQTtBQUFBLE1BQUEsS0FBQTtBQUEwSCxNQUFBLEtBQTFILEVBQTBILHFCQUExSDtBQUFBLE1BQUEsR0FBQTtBQUFBLE1BQUEsR0FBQTtBQUFBLE1BQUEsR0FBQTtBQUFBLE1BQUEsRUFBQTtBQUFBLE1BQUEsTUFBQTtBQUFBLE1BQUEsS0FBQTtBQUFBLE1BQUE7QUFBQSxLO0FBM1FGLEc7QUFEa0IsQ0FBcEI7O2VBOFFlLGlCIiwic291cmNlc0NvbnRlbnQiOlsiIyBQcmltaXRpdmVzIGZvciB0aGUgc2VydmljZSBEeW5hbW9EQi5cbiMgVGhlIG1haW4gZW50aXRpZXMgYXJlIFRhYmxlcyBhbmQgSXRlbXMuXG4jIFRoaXMgZm9sbG93cyB0aGUgbmFtaW5nIGNvbnZlbnRpb24gdGhhdCBtZXRob2RzIHRoYXQgd29yayBvbiBUYWJsZXMgd2lsbCBiZVxuIyBwcmVmaXhlZCBcInRhYmxlKlwiLCB3aGVyZWFzIGl0ZW0gbWV0aG9kcyB3aWxsIGhhdmUgbm8gcHJlZml4LlxuXG5pbXBvcnQge2N1cnJ5fSBmcm9tIFwicGFuZGEtZ2FyZGVuXCJcbmltcG9ydCB7bWVyZ2UsIHNsZWVwLCBlbXB0eSwgY2F0LCBkaWZmZXJlbmNlLCBmaXJzdCwga2V5cywgdmFsdWVzLCBpc0Z1bmN0aW9uLCBpc09iamVjdCwgcGlja30gZnJvbSBcInBhbmRhLXBhcmNobWVudFwiXG5pbXBvcnQge01ldGhvZH0gZnJvbSBcInBhbmRhLWdlbmVyaWNzXCJcbmltcG9ydCB7Y29sbGVjdCwgcHJvamVjdH0gZnJvbSBcInBhbmRhLXJpdmVyXCJcbmltcG9ydCB7bm90Rm91bmR9IGZyb20gXCIuL3V0aWxzXCJcbmltcG9ydCB7YXBwbHlDb25maWd1cmF0aW9ufSBmcm9tIFwiLi4vbGlmdFwiXG5cbmR5bmFtb2RiUHJpbWl0aXZlID0gKFNESykgLT5cbiAgKGNvbmZpZ3VyYXRpb24pIC0+XG4gICAgZGIgPSBhcHBseUNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbiwgU0RLLkR5bmFtb0RCXG5cbiAgICAjPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgIyBUYWJsZXNcbiAgICAjPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgdGFibGVHZXQgPSAobmFtZSkgLT5cbiAgICAgIHRyeVxuICAgICAgICB7VGFibGV9ID0gYXdhaXQgZGIuZGVzY3JpYmVUYWJsZSBUYWJsZU5hbWU6IG5hbWVcbiAgICAgICAgVGFibGVcbiAgICAgIGNhdGNoIGVcbiAgICAgICAgbm90Rm91bmQgZSwgNDAwLCBcIlJlc291cmNlTm90Rm91bmRFeGNlcHRpb25cIlxuXG4gICAgdGFibGVDcmVhdGUgPSAobmFtZSwga2V5cywgYXR0cmlidXRlcywgdGhyb3VnaHB1dCwgb3B0aW9ucz17fSkgLT5cbiAgICAgIHAgPVxuICAgICAgICBUYWJsZU5hbWU6IG5hbWVcbiAgICAgICAgS2V5U2NoZW1hOiBrZXlzXG4gICAgICAgIEF0dHJpYnV0ZURlZmluaXRpb25zOiBhdHRyaWJ1dGVzXG4gICAgICAgIFByb3Zpc2lvbmVkVGhyb3VnaHB1dDogdGhyb3VnaHB1dFxuXG4gICAgICB7VGFibGVEZXNjcmlwdGlvbn09IGF3YWl0IGRiLmNyZWF0ZVRhYmxlIG1lcmdlIHAsIG9wdGlvbnNcbiAgICAgIFRhYmxlRGVzY3JpcHRpb25cblxuICAgIHRhYmxlVXBkYXRlID0gKG5hbWUsIGF0dHJpYnV0ZXMsIHRocm91Z2hwdXQsIG9wdGlvbnM9e30pIC0+XG4gICAgICBwID1cbiAgICAgICAgVGFibGVOYW1lOiBuYW1lXG4gICAgICAgIEF0dHJpYnV0ZURlZmluaXRpb25zOiBhdHRyaWJ1dGVzXG4gICAgICBwLlByb3Zpc2lvbmVkVGhyb3VnaHB1dCA9IHRocm91Z2hwdXQgaWYgdGhyb3VnaHB1dFxuXG4gICAgICB7VGFibGVEZXNjcmlwdGlvbn09IGF3YWl0IGRiLnVwZGF0ZVRhYmxlIG1lcmdlIHAsIG9wdGlvbnNcbiAgICAgIFRhYmxlRGVzY3JpcHRpb25cblxuICAgIHRhYmxlRGVsID0gKG5hbWUpIC0+XG4gICAgICB0cnlcbiAgICAgICAgYXdhaXQgZGIuZGVsZXRlVGFibGUgVGFibGVOYW1lOiBuYW1lXG4gICAgICBjYXRjaCBlXG4gICAgICAgIG5vdEZvdW5kIGVcblxuXG4gICAgX2lzVGFibGVSZWFkeSA9IChuYW1lKSAtPlxuICAgICAgd2hpbGUgdHJ1ZVxuICAgICAgICB7VGFibGVTdGF0dXN9ID0gYXdhaXQgdGFibGVHZXQgbmFtZVxuICAgICAgICBpZiAhVGFibGVTdGF0dXNcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IgXCJDYW5ub3QgZmluZCB0YWJsZSAje25hbWV9XCJcbiAgICAgICAgZWxzZSBpZiBUYWJsZVN0YXR1cyAhPSBcIkFDVElWRVwiXG4gICAgICAgICAgYXdhaXQgc2xlZXAgNTAwMFxuICAgICAgICBlbHNlXG4gICAgICAgICAgcmV0dXJuIHRydWVcblxuICAgIF9hcmVJbmRleGVzUmVhZHkgPSAobmFtZSkgLT5cbiAgICAgIHdoaWxlIHRydWVcbiAgICAgICAge0dsb2JhbFNlY29uZGFyeUluZGV4ZXM6IGluZGV4ZXN9ID0gYXdhaXQgdGFibGVHZXQgbmFtZVxuICAgICAgICByZXR1cm4gdHJ1ZSBpZiAhaW5kZXhlc1xuICAgICAgICBzdGF0dXNlcyA9IGNvbGxlY3QgcHJvamVjdCBcIkluZGV4U3RhdHVzXCIsIGluZGV4ZXNcbiAgICAgICAgaWYgZW1wdHkgZGlmZmVyZW5jZSBzdGF0dXNlcywgW1wiQUNUSVZFXCJdXG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgZWxzZVxuICAgICAgICAgIGF3YWl0IHNsZWVwIDUwMDBcblxuICAgICMgVGhlIG9wdGlvbmFsIHNlY29uZCBwYXJhbWV0ZXIgYWxsb3dzIHRoZSBkZXZlbG9wZXIgdG8gYWxzbyB3YWl0IG9uIGFsbCBnbG9iYWwgc2Vjb25kYXJ5IGluZGV4ZXMgdG8gYWxzbyBiZSByZWFkeS5cbiAgICB0YWJsZVdhaXRGb3JSZWFkeSA9IChuYW1lLCBpbmRleFdhaXQpIC0+XG4gICAgICBjaGVja3MgPSBbX2lzVGFibGVSZWFkeSBuYW1lXVxuICAgICAgY2hlY2tzLnB1c2ggX2FyZUluZGV4ZXNSZWFkeSBuYW1lIGlmIGluZGV4V2FpdFxuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwgY2hlY2tzXG5cbiAgICB0YWJsZVdhaXRGb3JEZWxldGVkID0gKG5hbWUpIC0+XG4gICAgICB3aGlsZSB0cnVlXG4gICAgICAgIHtUYWJsZVN0YXR1c30gPSBhd2FpdCB0YWJsZUdldCBuYW1lXG4gICAgICAgIGlmICFUYWJsZVN0YXR1c1xuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIGVsc2VcbiAgICAgICAgICBhd2FpdCBzbGVlcCA1MDAwXG5cbiAgICAjIFRPRE86IG1ha2UgdGhpcyBtb3JlIGVmZmljaWVudCBieSB0aHJvdHRsaW5nIHRvIFggY29ubmVjdGlvbnMgYXQgb25jZS4gQVdTXG4gICAgIyBvbmx5IHN1cHBvcnRzIE4gcmVxdWVzdHMgcGVyIHNlY29uZCBmcm9tIGFuIGFjY291bnQsIGFuZCBJIGRvbid0IHdhbnQgdGhpc1xuICAgICMgdG8gdmlvbGF0ZSB0aGF0IGxpbWl0LCBidXQgd2UgY2FuIGRvIGJldHRlciB0aGFuIG9uZSBhdCBhIHRpbWUuXG4gICAga2V5c0ZpbHRlciA9IGN1cnJ5IChrZXlzLCBpdGVtKSAtPlxuICAgICAgZiA9IChrZXkpIC0+IGtleSBpbiBrZXlzXG4gICAgICBwaWNrIGYsIGl0ZW1cblxuICAgIHRhYmxlRW1wdHkgPSAobmFtZSkgLT5cbiAgICAgIHtLZXlTY2hlbWF9ID0gYXdhaXQgdGFibGVHZXQgbmFtZVxuICAgICAgZmlsdGVyID0ga2V5c0ZpbHRlciBjb2xsZWN0IHByb2plY3QgXCJBdHRyaWJ1dGVOYW1lXCIsIEtleVNjaGVtYVxuXG4gICAgICB7SXRlbXN9ID0gYXdhaXQgc2NhbiBuYW1lXG4gICAgICBhd2FpdCBkZWwgbmFtZSwgZmlsdGVyKGkpIGZvciBpIGluIEl0ZW1zXG5cbiAgICAjPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgIyBUeXBlIEhlbHBlcnNcbiAgICAjPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgIyBEeW5hbW9EQiBpbmNsdWRlcyB0eXBlIGluZm9ybWF0aW9uIG1hcHBlZCBpbnRvIGl0cyBkYXRhIHN0cmN0dXJlcy5cbiAgICAjIEl0IGV4cGVjdHMgZGF0YSB0byBiZSBpbnB1dCB0aGF0IHdheSwgYW5kIGluY2x1ZGVzIGl0IHdoZW4gZmV0Y2hlZC5cbiAgICAjIFRoZXNlIGhlbHBlcnMgd3JpdGUgYW5kIHBhcnNlIHRoYXQgdHlwZSBzeXN0ZW0uXG4gICAgX3RyYW5zZm9ybSA9IChmKSAtPlxuICAgICAgKHgpIC0+XG4gICAgICAgIGlmIGlzT2JqZWN0IHhcbiAgICAgICAgICBvdXQgPSB7fVxuICAgICAgICAgIG91dFtrXSA9IF9tYXJrKFwiYW55b255bW91c0R5bmFtb2RiVmFsdWVcIiwgZiB2KSBmb3IgaywgdiBvZiB4XG4gICAgICAgICAgX21hcmsgXCJuYW1lZER5bmFtb2RiVmFsdWVcIiwgb3V0XG4gICAgICAgIGVsc2VcbiAgICAgICAgICBfbWFyayBcImFueW9ueW1vdXNEeW5hbW9kYlZhbHVlXCIsIGYgeFxuXG4gICAgX21hcmsgPSAobmFtZSwgb2JqZWN0KSAtPiBPYmplY3QuZGVmaW5lUHJvcGVydHkgb2JqZWN0LCBcIm5hbWVcIiwgdmFsdWU6IG5hbWVcblxuICAgIHRvID1cbiAgICAgIFM6IF90cmFuc2Zvcm0gKHMpIC0+IFM6IHMudG9TdHJpbmcoKVxuICAgICAgTjogX3RyYW5zZm9ybSAobikgLT4gTjogbi50b1N0cmluZygpXG4gICAgICBCOiBfdHJhbnNmb3JtIChiKSAtPiBCOiBiLnRvU3RyaW5nKFwiYmFzZTY0XCIpXG4gICAgICBTUzogX3RyYW5zZm9ybSAoYSkgLT4gU1M6IChpLnRvU3RyaW5nKCkgZm9yIGkgaW4gYSlcbiAgICAgIE5TOiBfdHJhbnNmb3JtIChhKSAtPiBOUzogKGkudG9TdHJpbmcoKSBmb3IgaSBpbiBhKVxuICAgICAgQlM6IF90cmFuc2Zvcm0gKGEpIC0+IEJTOiAoaS50b1N0cmluZyhcImJhc2U2NFwiKSBmb3IgaSBpbiBhKVxuICAgICAgTTogX3RyYW5zZm9ybSAobSkgLT4gTTogbVxuICAgICAgTDogX3RyYW5zZm9ybSAobCkgLT4gTDogbFxuICAgICAgTnVsbDogX3RyYW5zZm9ybSAobikgLT4gTlVMTDogblxuICAgICAgQm9vbDogX3RyYW5zZm9ybSAoYikgLT4gQk9PTDogYlxuXG4gICAgcGFyc2UgPSAoYXR0cmlidXRlcykgLT5cbiAgICAgIHJlc3VsdCA9IHt9XG4gICAgICBmb3IgbmFtZSwgdHlwZU9iaiBvZiBhdHRyaWJ1dGVzXG4gICAgICAgIGRhdGFUeXBlID0gZmlyc3Qga2V5cyB0eXBlT2JqXG4gICAgICAgIHYgPSBmaXJzdCB2YWx1ZXMgdHlwZU9ialxuICAgICAgICByZXN1bHRbbmFtZV0gPSBzd2l0Y2ggZGF0YVR5cGVcbiAgICAgICAgICB3aGVuIFwiU1wiLCBcIlNTXCIsIFwiTFwiLCBcIkJPT0xcIiB0aGVuIHZcbiAgICAgICAgICB3aGVuIFwiTlwiIHRoZW4gbmV3IE51bWJlciB2XG4gICAgICAgICAgd2hlbiBcIkJcIiB0aGVuIEJ1ZmZlci5mcm9tIHYsIFwiYmFzZTY0XCJcbiAgICAgICAgICB3aGVuIFwiTlNcIiB0aGVuIChuZXcgTnVtYmVyIGkgZm9yIGkgaW4gdilcbiAgICAgICAgICB3aGVuIFwiQlNcIiB0aGVuIChCdWZmZXIuZnJvbSBpLCBcImJhc2U2NFwiIGZvciBpIGluIHYpXG4gICAgICAgICAgd2hlbiBcIk5VTExcIlxuICAgICAgICAgICAgaWYgdiB0aGVuIG51bGwgZWxzZSB1bmRlZmluZWRcbiAgICAgICAgICB3aGVuIFwiTVwiIHRoZW4gcGFyc2UgdlxuICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvciBcIlVuYWJsZSB0byBwYXJzZSBvYmplY3QgZm9yIER5bmFtb0RCIGF0dHJpYnV0ZSB0eXBlLiAje2RhdGFUeXBlfVwiXG4gICAgICByZXN1bHRcblxuXG4gICAgIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICMgSXRlbXNcbiAgICAjPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgZ2V0ID0gKG5hbWUsIGtleSwgb3B0aW9ucz17fSkgLT5cbiAgICAgIHtSZXR1cm5Db25zdW1lZENhcGFjaXR5fSA9IG9wdGlvbnNcbiAgICAgIHAgPSB7VGFibGVOYW1lOiBuYW1lLCBLZXk6IGtleX1cbiAgICAgIHtJdGVtLCBDb25zdW1lZENhcGFjaXR5fSA9IGF3YWl0IGRiLmdldEl0ZW0gbWVyZ2UgcCwgb3B0aW9uc1xuICAgICAgaWYgUmV0dXJuQ29uc3VtZWRDYXBhY2l0eSB0aGVuIHtJdGVtLCBDb25zdW1lZENhcGFjaXR5fSBlbHNlIEl0ZW1cblxuICAgIHB1dCA9IChuYW1lLCBpdGVtLCBvcHRpb25zPXt9KSAtPlxuICAgICAgcCA9IHtUYWJsZU5hbWU6IG5hbWUsIEl0ZW06IGl0ZW19XG4gICAgICBhd2FpdCBkYi5wdXRJdGVtIG1lcmdlIHAsIG9wdGlvbnNcblxuICAgIGRlbCA9IChuYW1lLCBrZXksIG9wdGlvbnM9e30pIC0+XG4gICAgICBwID0ge1RhYmxlTmFtZTogbmFtZSwgS2V5OiBrZXl9XG4gICAgICBhd2FpdCBkYi5kZWxldGVJdGVtIG1lcmdlIHAsIG9wdGlvbnNcblxuICAgICM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAjIFF1ZXJpZXMgYW5kIFNjYW5zIGFnYWluc3QgVGFibGVzIGFuZCBJbmRleGVzXG4gICAgIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIF9kZWxpbWl0ZXIgPSBcIjwjIyNTVU5ET0dEWU5BTU9EQiMjIz5cIlxuICAgIF9zZXR1cEN1cnJlbnQgPSAtPlxuICAgICAgSXRlbXM6IFtdXG4gICAgICBDb3VudDogMFxuICAgICAgU2Nhbm5lZENvdW50OiAwXG4gICAgICBMYXN0RXZhbHVhdGVkS2V5OiBmYWxzZVxuICAgICAgQ29uc3VtZWRDYXBhY2l0eTogW11cblxuICAgIF9jYXRDdXJyZW50ID0gKGN1cnJlbnQsIHJlc3VsdHMpIC0+XG4gICAgICB7SXRlbXMsIENvdW50LCBTY2FubmVkQ291bnQsIExhc3RFdmFsdWF0ZWRLZXksIENvbnN1bWVkQ2FwYWNpdHl9ID0gcmVzdWx0c1xuICAgICAgY3VycmVudC5JdGVtcyA9IGNhdCBjdXJyZW50Lkl0ZW1zLCBJdGVtc1xuICAgICAgY3VycmVudC5Db3VudCArPSBDb3VudFxuICAgICAgY3VycmVudC5TY2FubmVkQ291bnQgKz0gU2Nhbm5lZENvdW50XG4gICAgICBjdXJyZW50Lkxhc3RFdmFsdWF0ZWRLZXkgPSBMYXN0RXZhbHVhdGVkS2V5IGlmIExhc3RFdmFsdWF0ZWRLZXlcbiAgICAgIGN1cnJlbnQuQ29uc3VtZWRDYXBhY2l0eSA9IGN1cnJlbnQuQ29uc3VtZWRDYXBhY2l0eS5wdXNoIENvbnN1bWVkQ2FwYWNpdHlcbiAgICAgIGN1cnJlbnRcblxuICAgIF9wYXJzZU5hbWUgPSAobmFtZSkgLT5cbiAgICAgIHRocm93IG5ldyBFcnJvciBcIk11c3QgcHJvdmlkZSB0YWJsZSBuYW1lLlwiIGlmICFuYW1lXG4gICAgICBwYXJ0cyA9IG5hbWUuc3BsaXQgXCI6XCJcbiAgICAgIGlmIHBhcnRzLmxlbmd0aCA+IDFcbiAgICAgICAge3RhYmxlTmFtZTogcGFydHNbMF0sIGluZGV4TmFtZTogcGFydHNbMV19XG4gICAgICBlbHNlXG4gICAgICAgIHt0YWJsZU5hbWU6IG5hbWUsIGluZGV4TmFtZTogZmFsc2V9XG5cbiAgICBfcGFyc2VDb25kaXRpb25hbCA9IChleCwgY291bnQ9MCkgLT5cbiAgICAgIHJldHVybiB7cmVzdWx0OmZhbHNlLCB2YWx1ZXM6ZmFsc2UsIGNvdW50fSBpZiAhZXhcbiAgICAgIFZhbHVlcyA9IHt9XG4gICAgICByZSA9IG5ldyBSZWdFeHAgXCIje19kZWxpbWl0ZXJ9Lis/I3tfZGVsaW1pdGVyfVwiLCBcImdcIlxuXG4gICAgICByZXN1bHQgPSBleC5yZXBsYWNlIHJlLCAobWF0Y2gpIC0+XG4gICAgICAgIFssIG9ial0gPSBtYXRjaC5zcGxpdCBfZGVsaW1pdGVyXG4gICAgICAgIHBsYWNlaG9sZGVyID0gXCI6cGFyYW0je2NvdW50fVwiXG4gICAgICAgIGNvdW50KytcbiAgICAgICAgVmFsdWVzW3BsYWNlaG9sZGVyXSA9IEpTT04ucGFyc2Ugb2JqXG4gICAgICAgIHBsYWNlaG9sZGVyICMgUmV0dXJuIHBsYWNlaG9sZGVyIHRvIHRoZSBleHByZXNzaW9uIHdlIGFyZSBwcm9jZXNzaW5nLlxuXG4gICAgICB7cmVzdWx0LCB2YWx1ZXM6VmFsdWVzLCBjb3VudH1cblxuICAgIF9wYXJzZVF1ZXJ5ID0gKG9wdGlvbnMsIG5hbWUsIGtleUV4LCBmaWx0ZXJFeCkgLT5cbiAgICAgIHt0YWJsZU5hbWUsIGluZGV4TmFtZX0gPSBfcGFyc2VOYW1lIG5hbWVcbiAgICAgIHtyZXN1bHQ6a2V5LCB2YWx1ZXM6a2V5VmFsdWVzLCBjb3VudH0gPSBfcGFyc2VDb25kaXRpb25hbCBrZXlFeFxuICAgICAge3Jlc3VsdDpmaWx0ZXIsIHZhbHVlczpmaWx0ZXJWYWx1ZXN9ID0gX3BhcnNlQ29uZGl0aW9uYWwgZmlsdGVyRXgsIGNvdW50XG5cbiAgICAgIG91dCA9IG9wdGlvbnNcbiAgICAgIG91dC5UYWJsZU5hbWUgPSB0YWJsZU5hbWVcbiAgICAgIG91dC5JbmRleE5hbWUgPSBpbmRleE5hbWUgaWYgaW5kZXhOYW1lXG4gICAgICBvdXQuS2V5Q29uZGl0aW9uRXhwcmVzc2lvbiA9IGtleSBpZiBrZXlcbiAgICAgIG91dC5GaWx0ZXJFeHByZXNzaW9uID0gZmlsdGVyIGlmIGZpbHRlclxuICAgICAgaWYga2V5VmFsdWVzIHx8IGZpbHRlclZhbHVlc1xuICAgICAgICBvdXQuRXhwcmVzc2lvbkF0dHJpYnV0ZVZhbHVlcyA9XG4gICAgICAgICAgbWVyZ2UgKGtleVZhbHVlcyB8fCB7fSksIChmaWx0ZXJWYWx1ZXMgfHwge30pXG4gICAgICBvdXRcblxuICAgICMgcXYgcHJvZHVjZXMgcXVlcnkgc3RyaW5ncyB3aXRoIGRlbGltaXRlZCB2YWx1ZXMgU3VuRG9nIGNhbiBwYXJzZS5cbiAgICBfcXYgPSAobykgLT5cbiAgICAgIGRlbGltaXQgPSAocykgLT4gXCIje19kZWxpbWl0ZXJ9I3tzfSN7X2RlbGltaXRlcn1cIlxuICAgICAgIyBEZXRlcm1pbmUgaWYgdGhpcyBpcyBhIER5bmFtb0RCIHZhbHVlLCBhbmQgd2hldGhlciBpcyBhbnlvbnltb3VzIG9yIG5hbWVkLlxuICAgICAgaWYgby5uYW1lID09IFwiYW55b255bW91c0R5bmFtb2RiVmFsdWVcIlxuICAgICAgICBkZWxpbWl0IEpTT04uc3RyaW5naWZ5IG9cbiAgICAgIGVsc2UgaWYgby5uYW1lID09IFwibmFtZWREeW5hbW9kYlZhbHVlXCJcbiAgICAgICAgZGVsaW1pdCBKU09OLnN0cmluZ2lmeSBmaXJzdCB2YWx1ZXMgb1xuICAgICAgZWxzZVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IgXCJVbmFibGUgdG8gY3JlYXRlIHN0cmluZ2lmaWVkIHF1ZXJ5IHZhbHVlIGZvciB1bnJlY29uZ2llZCBvYmplY3QgI3tKU09OLnN0cmluZ2lmeSBvfVwiXG5cbiAgICBxdiA9IE1ldGhvZC5jcmVhdGUoKVxuICAgIE1ldGhvZC5kZWZpbmUgcXYsIGlzRnVuY3Rpb24sIChmKSAtPiAoeCkgLT4gX3F2IGYgeFxuICAgIE1ldGhvZC5kZWZpbmUgcXYsIGlzT2JqZWN0LCAobykgLT4gX3F2IG9cblxuICAgIHVwZGF0ZSA9IChuYW1lLCBrZXksIHVwZGF0ZUV4LCBvcHRpb25zPXt9KSAtPlxuICAgICAgcCA9IHtUYWJsZU5hbWU6IG5hbWUsIEtleToga2V5fVxuICAgICAge3Jlc3VsdCwgdmFsdWVzOl92YWx1ZXN9ID0gX3BhcnNlQ29uZGl0aW9uYWwgdXBkYXRlRXhcbiAgICAgIG9wdGlvbnMuVXBkYXRlRXhwcmVzc2lvbiA9IHJlc3VsdCBpZiByZXN1bHRcbiAgICAgIG9wdGlvbnMuRXhwcmVzc2lvbkF0dHJpYnV0ZVZhbHVlcyA9IF92YWx1ZXMgaWYgX3ZhbHVlc1xuICAgICAgYXdhaXQgZGIudXBkYXRlSXRlbSBtZXJnZSBwLCBvcHRpb25zXG5cbiAgICBxdWVyeSA9IChuYW1lLCBrZXlFeCwgZmlsdGVyRXgsIG9wdGlvbnM9e30sIGN1cnJlbnQpIC0+XG4gICAgICBjdXJyZW50ID0gX3NldHVwQ3VycmVudCgpIGlmICFjdXJyZW50XG4gICAgICBpZiAhY3VycmVudC5vcHRpb25zXG4gICAgICAgIGN1cnJlbnQub3B0aW9ucyA9IG9wdGlvbnMgPSBfcGFyc2VRdWVyeSBvcHRpb25zLCBuYW1lLCBrZXlFeCwgZmlsdGVyRXhcbiAgICAgIGVsc2VcbiAgICAgICAge29wdGlvbnN9ID0gY3VycmVudFxuXG4gICAgICBwID0ge31cbiAgICAgIHAuRXhjbHVzaXZlU3RhcnRLZXkgPSBjdXJyZW50Lkxhc3RFdmFsdWF0ZWRLZXkgaWYgY3VycmVudC5MYXN0RXZhbHVhdGVkS2V5XG4gICAgICByZXN1bHRzID0gYXdhaXQgZGIucXVlcnkgbWVyZ2UgcCwgb3B0aW9uc1xuXG4gICAgICBjdXJyZW50ID0gX2NhdEN1cnJlbnQgY3VycmVudCwgcmVzdWx0c1xuICAgICAgaWYgIXJlc3VsdHMuTGFzdEV2YWx1YXRlZEtleSB8fCBvcHRpb25zLkxpbWl0XG4gICAgICAgIGN1cnJlbnRcbiAgICAgIGVsc2VcbiAgICAgICAgYXdhaXQgcXVlcnkgbmFtZSwga2V5RXgsIGZpbHRlckV4LCBvcHRpb25zLCBjdXJyZW50XG5cbiAgICBzY2FuID0gKG5hbWUsIGZpbHRlckV4LCBvcHRpb25zPXt9LCBjdXJyZW50KSAtPlxuICAgICAgY3VycmVudCA9IF9zZXR1cEN1cnJlbnQoKSBpZiAhY3VycmVudFxuICAgICAgaWYgIWN1cnJlbnQub3B0aW9uc1xuICAgICAgICBjdXJyZW50Lm9wdGlvbnMgPSBvcHRpb25zID0gX3BhcnNlUXVlcnkgb3B0aW9ucywgbmFtZSwgZmFsc2UsIGZpbHRlckV4XG4gICAgICBlbHNlXG4gICAgICAgIHtvcHRpb25zfSA9IGN1cnJlbnRcblxuICAgICAgcCA9IHt9XG4gICAgICBwLkV4Y2x1c2l2ZVN0YXJ0S2V5ID0gY3VycmVudC5MYXN0RXZhbHVhdGVkS2V5IGlmIGN1cnJlbnQuTGFzdEV2YWx1YXRlZEtleVxuICAgICAgcmVzdWx0cyA9IGF3YWl0IGRiLnNjYW4gbWVyZ2UgcCwgb3B0aW9uc1xuXG4gICAgICBjdXJyZW50ID0gX2NhdEN1cnJlbnQgY3VycmVudCwgcmVzdWx0c1xuICAgICAgaWYgIXJlc3VsdHMuTGFzdEV2YWx1YXRlZEtleSB8fCBvcHRpb25zLkxpbWl0XG4gICAgICAgIGN1cnJlbnRcbiAgICAgIGVsc2VcbiAgICAgICAgYXdhaXQgc2NhbiBuYW1lLCBmaWx0ZXJFeCwgb3B0aW9ucywgY3VycmVudFxuXG5cblxuICAgIHt0YWJsZUdldCwgdGFibGVDcmVhdGUsIHRhYmxlVXBkYXRlLCB0YWJsZURlbCwgdGFibGVXYWl0Rm9yUmVhZHksIHRhYmxlV2FpdEZvckRlbGV0ZWQsIHRhYmxlRW1wdHksIGtleXNGaWx0ZXIsIHRvLCBwYXJzZSwgbWVyZ2UsIGdldCwgcHV0LCBkZWwsIHF2LCB1cGRhdGUsIHF1ZXJ5LCBzY2FufVxuXG5leHBvcnQgZGVmYXVsdCBkeW5hbW9kYlByaW1pdGl2ZVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceURL=primitives/dynamodb.coffee

@@ -6,31 +6,34 @@ "use strict";

});
exports.default = void 0;
var _cognito = require("./cognito");
var _acm = _interopRequireDefault(require("./acm"));
var _cognito2 = _interopRequireDefault(_cognito);
var _cloudformation = _interopRequireDefault(require("./cloudformation"));
var _dynamodb = require("./dynamodb");
var _cloudfront = _interopRequireDefault(require("./cloudfront"));
var _dynamodb2 = _interopRequireDefault(_dynamodb);
var _cloudwatchlogs = _interopRequireDefault(require("./cloudwatchlogs"));
var _kms = require("./kms");
var _cognito = _interopRequireDefault(require("./cognito"));
var _kms2 = _interopRequireDefault(_kms);
var _dynamodb = _interopRequireDefault(require("./dynamodb"));
var _s = require("./s3");
var _ec = _interopRequireDefault(require("./ec2"));
var _s2 = _interopRequireDefault(_s);
var _kms = _interopRequireDefault(require("./kms"));
var _ses = require("./ses");
var _lambda = _interopRequireDefault(require("./lambda"));
var _ses2 = _interopRequireDefault(_ses);
var _route = _interopRequireDefault(require("./route53"));
var _sns = require("./sns");
var _s = _interopRequireDefault(require("./s3"));
var _sns2 = _interopRequireDefault(_sns);
var _ses = _interopRequireDefault(require("./ses"));
var _sts = require("./sts");
var _sns = _interopRequireDefault(require("./sns"));
var _sts2 = _interopRequireDefault(_sts);
var _sts = _interopRequireDefault(require("./sts"));
var _url = _interopRequireDefault(require("./url"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -42,6 +45,30 @@

return Object.defineProperties({}, {
ACM: {
enumerable: true,
get: function () {
return (0, _acm.default)(_AWS.SDK);
}
},
CloudFormation: {
enumerable: true,
get: function () {
return (0, _cloudformation.default)(_AWS.SDK);
}
},
CloudFront: {
enumerable: true,
get: function () {
return (0, _cloudfront.default)(_AWS.SDK);
}
},
CloudWatchLogs: {
enumerable: true,
get: function () {
return (0, _cloudwatchlogs.default)(_AWS.SDK);
}
},
Cognito: {
enumerable: true,
get: function () {
return (0, _cognito2.default)(_AWS);
return (0, _cognito.default)(_AWS.SDK);
}

@@ -52,15 +79,33 @@ },

get: function () {
return (0, _dynamodb2.default)(_AWS);
return (0, _dynamodb.default)(_AWS.SDK);
}
},
EC2: {
enumerable: true,
get: function () {
return (0, _ec.default)(_AWS.SDK);
}
},
KMS: {
enumerable: true,
get: function () {
return (0, _kms2.default)(_AWS);
return (0, _kms.default)(_AWS.SDK);
}
},
Lambda: {
enumerable: true,
get: function () {
return (0, _lambda.default)(_AWS.SDK);
}
},
Route53: {
enumerable: true,
get: function () {
return (0, _route.default)(_AWS.SDK);
}
},
S3: {
enumerable: true,
get: function () {
return (0, _s2.default)(_AWS);
return (0, _s.default)(_AWS.SDK);
}

@@ -71,3 +116,3 @@ },

get: function () {
return (0, _ses2.default)(_AWS);
return (0, _ses.default)(_AWS.SDK);
}

@@ -78,3 +123,3 @@ },

get: function () {
return (0, _sns2.default)(_AWS);
return (0, _sns.default)(_AWS.SDK);
}

@@ -85,4 +130,10 @@ },

get: function () {
return (0, _sts2.default)(_AWS);
return (0, _sts.default)(_AWS.SDK);
}
},
URL: {
enumerable: true,
get: function () {
return (0, _url.default)();
}
}

@@ -92,2 +143,5 @@ });

exports.default = Primitives;
var _default = Primitives;
exports.default = _default;
//# sourceMappingURL=data:application/json;base64,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QUEsRUFBSyxZQUFBO2VBQUcsa0JBQUksSUFBSSxDQUFSLEdBQUEsQztBQUFIO0FBREwsS0F4Q0Y7QUEwQ0EsSUFBQSxHQUFBLEVBQ0U7QUFBQSxNQUFBLFVBQUEsRUFBQSxJQUFBO0FBQ0EsTUFBQSxHQUFBLEVBQUssWUFBQTtlQUFHLG1CO0FBQUg7QUFETDtBQTNDRixHQURGLEM7QUFEVyxDQUFiOztlQWdEZSxVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFjbSBmcm9tIFwiLi9hY21cIlxuaW1wb3J0IGNsb3VkZm9ybWF0aW9uIGZyb20gXCIuL2Nsb3VkZm9ybWF0aW9uXCJcbmltcG9ydCBjbG91ZGZyb250IGZyb20gXCIuL2Nsb3VkZnJvbnRcIlxuaW1wb3J0IGNsb3Vkd2F0Y2hsb2dzIGZyb20gXCIuL2Nsb3Vkd2F0Y2hsb2dzXCJcbmltcG9ydCBjb2duaXRvIGZyb20gXCIuL2NvZ25pdG9cIlxuaW1wb3J0IGR5bmFtb2RiIGZyb20gXCIuL2R5bmFtb2RiXCJcbmltcG9ydCBlYzIgZnJvbSBcIi4vZWMyXCJcbmltcG9ydCBrbXMgZnJvbSBcIi4va21zXCJcbmltcG9ydCBsYW1iZGEgZnJvbSBcIi4vbGFtYmRhXCJcbmltcG9ydCByb3V0ZTUzIGZyb20gXCIuL3JvdXRlNTNcIlxuaW1wb3J0IHMzIGZyb20gXCIuL3MzXCJcbmltcG9ydCBzZXMgZnJvbSBcIi4vc2VzXCJcbmltcG9ydCBzbnMgZnJvbSBcIi4vc25zXCJcbmltcG9ydCBzdHMgZnJvbSBcIi4vc3RzXCJcbmltcG9ydCB1cmwgZnJvbSBcIi4vdXJsXCIgICMgVVJMIHBhcnNpbmcgLyBmb3JtYXR0aW5nIGhlbHBlcnNcblxuUHJpbWl0aXZlcyA9IChfQVdTKSAtPlxuICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB7fSxcbiAgICBBQ006XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICBnZXQ6IC0+IGFjbSBfQVdTLlNES1xuICAgIENsb3VkRm9ybWF0aW9uOlxuICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgZ2V0OiAtPiBjbG91ZGZvcm1hdGlvbiBfQVdTLlNES1xuICAgIENsb3VkRnJvbnQ6XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICBnZXQ6IC0+IGNsb3VkZnJvbnQgX0FXUy5TREtcbiAgICBDbG91ZFdhdGNoTG9nczpcbiAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgIGdldDogLT4gY2xvdWR3YXRjaGxvZ3MgX0FXUy5TREtcbiAgICBDb2duaXRvOlxuICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgZ2V0OiAtPiBjb2duaXRvIF9BV1MuU0RLXG4gICAgRHluYW1vREI6XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICBnZXQ6IC0+IGR5bmFtb2RiIF9BV1MuU0RLXG4gICAgRUMyOlxuICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgZ2V0OiAtPiBlYzIgX0FXUy5TREtcbiAgICBLTVM6XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICBnZXQ6IC0+IGttcyBfQVdTLlNES1xuICAgIExhbWJkYTpcbiAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgIGdldDogLT4gbGFtYmRhIF9BV1MuU0RLXG4gICAgUm91dGU1MzpcbiAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgIGdldDogLT4gcm91dGU1MyBfQVdTLlNES1xuICAgIFMzOlxuICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgZ2V0OiAtPiBzMyBfQVdTLlNES1xuICAgIFNFUzpcbiAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgIGdldDogLT4gc2VzIF9BV1MuU0RLXG4gICAgU05TOlxuICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgZ2V0OiAtPiBzbnMgX0FXUy5TREtcbiAgICBTVFM6XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICBnZXQ6IC0+IHN0cyBfQVdTLlNES1xuICAgIFVSTDpcbiAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgIGdldDogLT4gdXJsKClcblxuZXhwb3J0IGRlZmF1bHQgUHJpbWl0aXZlc1xuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceURL=primitives/index.coffee

@@ -6,19 +6,22 @@ "use strict";

});
exports.default = void 0;
var _fairmont = require("fairmont");
var _pandaParchment = require("panda-parchment");
var _utils = require("./utils");
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
var _lift = require("../lift");
// Primitives for the service KMS.
// NOTE: In KMS methods besides "create" and "delete" and "addAlias": ID can be key ID, key ARN, or key alias name.
var cognitoPrimative;
var cognitoPrimitive;
cognitoPrimative = function (_AWS) {
var addAlias, create, decrypt, encrypt, get, kms, randomKey, reEncrypt, removeAlias, scheduleDelete;
kms = _AWS.KMS;
get = (() => {
var _ref = _asyncToGenerator(function* (id, tokens) {
cognitoPrimitive = function (SDK) {
return function (configuration) {
var addAlias, create, decrypt, encrypt, get, kms, randomKey, reEncrypt, removeAlias, scheduleDelete;
kms = (0, _lift.applyConfiguration)(configuration, SDK.KMS);
get = async function (id, tokens) {
var KeyMetadata, e, params;
try {

@@ -28,6 +31,10 @@ params = {

};
if (tokens) {
params.GrantTokens = tokens;
}
({ KeyMetadata } = yield kms.describeKey(params));
({
KeyMetadata
} = await kms.describeKey(params));
return KeyMetadata;

@@ -38,21 +45,13 @@ } catch (error) {

}
});
};
return function get(_x, _x2) {
return _ref.apply(this, arguments);
};
})();
create = (() => {
var _ref2 = _asyncToGenerator(function* (params = {}) {
create = async function (params = {}) {
var KeyMetadata;
({ KeyMetadata } = yield kms.createKey(params));
({
KeyMetadata
} = await kms.createKey(params));
return KeyMetadata;
});
};
return function create() {
return _ref2.apply(this, arguments);
};
})();
scheduleDelete = (() => {
var _ref3 = _asyncToGenerator(function* (id, delay) {
scheduleDelete = async function (id, delay) {
var params;

@@ -62,39 +61,35 @@ params = {

};
if (delay) {
params.PendingWindowInDays = delay;
}
return yield kms.deleteKey(params);
});
return function scheduleDelete(_x3, _x4) {
return _ref3.apply(this, arguments);
return await kms.deleteKey(params);
};
})();
addAlias = (() => {
var _ref4 = _asyncToGenerator(function* (TargetKeyId, AliasName) {
return yield kms.createAlias({ TargetKeyId, AliasName });
});
return function addAlias(_x5, _x6) {
return _ref4.apply(this, arguments);
addAlias = async function (TargetKeyId, AliasName) {
return await kms.createAlias({
TargetKeyId,
AliasName
});
};
})();
removeAlias = (() => {
var _ref5 = _asyncToGenerator(function* (AliasName) {
return yield kms.deleteAlias({ AliasName });
});
return function removeAlias(_x7) {
return _ref5.apply(this, arguments);
removeAlias = async function (AliasName) {
return await kms.deleteAlias({
AliasName
});
};
})();
randomKey = (() => {
var _ref6 = _asyncToGenerator(function* (size, encoding = "hex") {
randomKey = async function (size, encoding = "hex") {
var Plaintext;
({ Plaintext } = yield kms.generateRandom({
({
Plaintext
} = await kms.generateRandom({
NumberOfBytes: size
}));
switch (encoding) {
case "buffer":
return Plaintext;
case "ascii":

@@ -109,2 +104,3 @@ case "hex":

return Plaintext.toString(encoding);
case "base64":

@@ -114,4 +110,6 @@ // Omitting padding characters, per:

return Plaintext.toString("base64").replace(/\=+$/, '');
case "base64padded":
return Plaintext.toString("base64");
case "base64url":

@@ -121,14 +119,11 @@ // Based on RFC 4648's "base64url" mapping:

return Plaintext.toString("base64").replace(/\+/g, '-').replace(/\//g, '_').replace(/\=+$/, '');
default:
throw new Error(`Unknown encoding ${encoding}.`);
}
});
};
return function randomKey(_x8) {
return _ref6.apply(this, arguments);
};
})();
encrypt = (() => {
var _ref7 = _asyncToGenerator(function* (id, plaintext, encoding = "utf8", options = {}) {
encrypt = async function (id, plaintext, encoding = "utf8", options = {}) {
var CiphertextBlob, input, params;
switch (encoding) {

@@ -145,8 +140,11 @@ case "utf8":

break;
case "buffer":
input = plaintext;
break;
default:
throw new Error(`Unknown encoding ${encoding}.`);
}
params = {

@@ -156,13 +154,10 @@ KeyId: id,

};
params = (0, _fairmont.merge)(params, options);
({ CiphertextBlob } = yield kms.encrypt(params));
params = (0, _pandaParchment.merge)(params, options);
({
CiphertextBlob
} = await kms.encrypt(params));
return CiphertextBlob.toString("base64");
});
};
return function encrypt(_x9, _x10) {
return _ref7.apply(this, arguments);
};
})();
decrypt = (() => {
var _ref8 = _asyncToGenerator(function* (blob, encoding = "utf8", options = {}) {
decrypt = async function (blob, encoding = "utf8", options = {}) {
var Plaintext, params;

@@ -172,4 +167,7 @@ params = {

};
params = (0, _fairmont.merge)(params, options);
({ Plaintext } = yield kms.decrypt(params));
params = (0, _pandaParchment.merge)(params, options);
({
Plaintext
} = await kms.decrypt(params));
switch (encoding) {

@@ -185,15 +183,12 @@ case "utf8":

return Plaintext.toString(encoding);
case "buffer":
return Plaintext;
default:
throw new Error(`Unknown encoding ${encoding}.`);
}
});
};
return function decrypt(_x11) {
return _ref8.apply(this, arguments);
};
})();
reEncrypt = (() => {
var _ref9 = _asyncToGenerator(function* (id, blob, options = {}) {
reEncrypt = async function (id, blob, options = {}) {
var CiphertextBlob, params;

@@ -204,14 +199,26 @@ params = {

};
params = (0, _fairmont.merge)(params, options);
({ CiphertextBlob } = yield kms.reEncrypt(params));
params = (0, _pandaParchment.merge)(params, options);
({
CiphertextBlob
} = await kms.reEncrypt(params));
return CiphertextBlob.toString("base64");
});
};
return function reEncrypt(_x12, _x13) {
return _ref9.apply(this, arguments);
return {
get,
create,
scheduleDelete,
addAlias,
removeAlias,
randomKey,
decrypt,
encrypt,
reEncrypt
};
})();
return { get, create, scheduleDelete, addAlias, removeAlias, randomKey, decrypt, encrypt, reEncrypt };
};
};
exports.default = cognitoPrimative;
var _default = cognitoPrimitive;
exports.default = _default;
//# sourceMappingURL=data:application/json;base64,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QUFjLENBQWQsUUFBQSxDQUFBLFFBQUEsQztBQU5VLEtBQVo7O1dBU0E7QUFBQSxNQUFBLEdBQUE7QUFBQSxNQUFBLE1BQUE7QUFBQSxNQUFBLGNBQUE7QUFBQSxNQUFBLFFBQUE7QUFBQSxNQUFBLFdBQUE7QUFBQSxNQUFBLFNBQUE7QUFBQSxNQUFBLE9BQUE7QUFBQSxNQUFBLE9BQUE7QUFBQSxNQUFBO0FBQUEsSztBQXZGRixHO0FBRGlCLENBQW5COztlQTJGZSxnQiIsInNvdXJjZXNDb250ZW50IjpbIiMgUHJpbWl0aXZlcyBmb3IgdGhlIHNlcnZpY2UgS01TLlxuIyBOT1RFOiBJbiBLTVMgbWV0aG9kcyBiZXNpZGVzIFwiY3JlYXRlXCIgYW5kIFwiZGVsZXRlXCIgYW5kIFwiYWRkQWxpYXNcIjogSUQgY2FuIGJlIGtleSBJRCwga2V5IEFSTiwgb3Iga2V5IGFsaWFzIG5hbWUuXG5cbmltcG9ydCB7Y2F0LCBtZXJnZX0gZnJvbSBcInBhbmRhLXBhcmNobWVudFwiXG5pbXBvcnQge25vdEZvdW5kfSBmcm9tIFwiLi91dGlsc1wiXG5pbXBvcnQge2FwcGx5Q29uZmlndXJhdGlvbn0gZnJvbSBcIi4uL2xpZnRcIlxuXG5jb2duaXRvUHJpbWl0aXZlID0gKFNESykgLT5cbiAgKGNvbmZpZ3VyYXRpb24pIC0+XG4gICAga21zID0gYXBwbHlDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24sIFNESy5LTVNcblxuICAgIGdldCA9IChpZCwgdG9rZW5zKSAtPlxuICAgICAgdHJ5XG4gICAgICAgIHBhcmFtcyA9IHtLZXlJZDogaWR9XG4gICAgICAgIHBhcmFtcy5HcmFudFRva2VucyA9IHRva2VucyBpZiB0b2tlbnNcbiAgICAgICAge0tleU1ldGFkYXRhfSA9IGF3YWl0IGttcy5kZXNjcmliZUtleSBwYXJhbXNcbiAgICAgICAgS2V5TWV0YWRhdGFcbiAgICAgIGNhdGNoIGVcbiAgICAgICAgbm90Rm91bmQgZSwgNDAwLCBcIk5vdEZvdW5kRXhjZXB0aW9uXCJcblxuICAgIGNyZWF0ZSA9IChwYXJhbXM9e30pIC0+XG4gICAgICB7S2V5TWV0YWRhdGF9ID0gYXdhaXQga21zLmNyZWF0ZUtleSBwYXJhbXNcbiAgICAgIEtleU1ldGFkYXRhXG5cbiAgICBzY2hlZHVsZURlbGV0ZSA9IChpZCwgZGVsYXkpIC0+XG4gICAgICBwYXJhbXMgPSBLZXlJZDogaWRcbiAgICAgIHBhcmFtcy5QZW5kaW5nV2luZG93SW5EYXlzID0gZGVsYXkgaWYgZGVsYXlcbiAgICAgIGF3YWl0IGttcy5kZWxldGVLZXkgcGFyYW1zXG5cbiAgICBhZGRBbGlhcyA9IChUYXJnZXRLZXlJZCwgQWxpYXNOYW1lKSAtPlxuICAgICAgYXdhaXQga21zLmNyZWF0ZUFsaWFzIHtUYXJnZXRLZXlJZCwgQWxpYXNOYW1lfVxuXG4gICAgcmVtb3ZlQWxpYXMgPSAoQWxpYXNOYW1lKSAtPlxuICAgICAgYXdhaXQga21zLmRlbGV0ZUFsaWFzIHtBbGlhc05hbWV9XG5cbiAgICByYW5kb21LZXkgPSAoc2l6ZSwgZW5jb2Rpbmc9XCJoZXhcIikgLT5cbiAgICAgIHtQbGFpbnRleHR9ID0gYXdhaXQga21zLmdlbmVyYXRlUmFuZG9tIHtOdW1iZXJPZkJ5dGVzOiBzaXplfVxuICAgICAgc3dpdGNoIGVuY29kaW5nXG4gICAgICAgIHdoZW4gXCJidWZmZXJcIlxuICAgICAgICAgIFBsYWludGV4dFxuICAgICAgICB3aGVuIFwiYXNjaWlcIiwgXCJoZXhcIiwgXCJ1dGY4XCIsIFwidXRmMTZsZVwiLCBcInVjczJcIiwgXCJsYXRpbjFcIiwgXCJiaW5hcnlcIiwgXCJoZXhcIlxuICAgICAgICAgIFBsYWludGV4dC50b1N0cmluZyBlbmNvZGluZ1xuICAgICAgICB3aGVuIFwiYmFzZTY0XCJcbiAgICAgICAgICAjIE9taXR0aW5nIHBhZGRpbmcgY2hhcmFjdGVycywgcGVyOlxuICAgICAgICAgICMgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzQ2NDgjc2VjdGlvbi0zLjJcbiAgICAgICAgICBQbGFpbnRleHQudG9TdHJpbmcoXCJiYXNlNjRcIilcbiAgICAgICAgICAucmVwbGFjZSgvXFw9KyQvLCAnJylcbiAgICAgICAgd2hlbiBcImJhc2U2NHBhZGRlZFwiXG4gICAgICAgICAgUGxhaW50ZXh0LnRvU3RyaW5nKFwiYmFzZTY0XCIpXG4gICAgICAgIHdoZW4gXCJiYXNlNjR1cmxcIlxuICAgICAgICAgICMgQmFzZWQgb24gUkZDIDQ2NDgncyBcImJhc2U2NHVybFwiIG1hcHBpbmc6XG4gICAgICAgICAgIyBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNDY0OCNzZWN0aW9uLTVcbiAgICAgICAgICBQbGFpbnRleHQudG9TdHJpbmcoXCJiYXNlNjRcIilcbiAgICAgICAgICAucmVwbGFjZSgvXFwrL2csICctJylcbiAgICAgICAgICAucmVwbGFjZSgvXFwvL2csICdfJylcbiAgICAgICAgICAucmVwbGFjZSgvXFw9KyQvLCAnJylcbiAgICAgICAgZWxzZVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvciBcIlVua25vd24gZW5jb2RpbmcgI3tlbmNvZGluZ30uXCJcblxuICAgIGVuY3J5cHQgPSAoaWQsIHBsYWludGV4dCwgZW5jb2Rpbmc9XCJ1dGY4XCIsIG9wdGlvbnM9e30pIC0+XG4gICAgICBzd2l0Y2ggZW5jb2RpbmdcbiAgICAgICAgd2hlbiBcInV0ZjhcIiwgXCJiYXNlNjRcIiwgXCJoZXhcIiwgXCJhc2NpaVwiLCBcInV0ZjE2bGVcIiwgXCJ1Y3MyXCIsIFwibGF0aW4xXCIsIFwiYmluYXJ5XCJcbiAgICAgICAgICBpbnB1dCA9IEJ1ZmZlci5mcm9tIHBsYWludGV4dCwgZW5jb2RpbmdcbiAgICAgICAgd2hlbiBcImJ1ZmZlclwiXG4gICAgICAgICAgaW5wdXQgPSBwbGFpbnRleHRcbiAgICAgICAgZWxzZVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvciBcIlVua25vd24gZW5jb2RpbmcgI3tlbmNvZGluZ30uXCJcbiAgICAgIHBhcmFtcyA9XG4gICAgICAgIEtleUlkOiBpZFxuICAgICAgICBQbGFpbnRleHQ6IGlucHV0XG4gICAgICBwYXJhbXMgPSBtZXJnZSBwYXJhbXMsIG9wdGlvbnNcbiAgICAgIHtDaXBoZXJ0ZXh0QmxvYn0gPSBhd2FpdCBrbXMuZW5jcnlwdCBwYXJhbXNcbiAgICAgIENpcGhlcnRleHRCbG9iLnRvU3RyaW5nKFwiYmFzZTY0XCIpXG5cbiAgICBkZWNyeXB0ID0gKGJsb2IsIGVuY29kaW5nPVwidXRmOFwiLCBvcHRpb25zPXt9KSAtPlxuICAgICAgcGFyYW1zID0gQ2lwaGVydGV4dEJsb2I6IEJ1ZmZlci5mcm9tKGJsb2IsIFwiYmFzZTY0XCIpXG4gICAgICBwYXJhbXMgPSBtZXJnZSBwYXJhbXMsIG9wdGlvbnNcbiAgICAgIHtQbGFpbnRleHR9ID0gYXdhaXQga21zLmRlY3J5cHQgcGFyYW1zXG4gICAgICBzd2l0Y2ggZW5jb2RpbmdcbiAgICAgICAgd2hlbiBcInV0ZjhcIiwgXCJiYXNlNjRcIiwgXCJoZXhcIiwgXCJhc2NpaVwiLCBcInV0ZjE2bGVcIiwgXCJ1Y3MyXCIsIFwibGF0aW4xXCIsIFwiYmluYXJ5XCJcbiAgICAgICAgICBQbGFpbnRleHQudG9TdHJpbmcgZW5jb2RpbmdcbiAgICAgICAgd2hlbiBcImJ1ZmZlclwiXG4gICAgICAgICAgUGxhaW50ZXh0XG4gICAgICAgIGVsc2VcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IgXCJVbmtub3duIGVuY29kaW5nICN7ZW5jb2Rpbmd9LlwiXG5cbiAgICByZUVuY3J5cHQgPSAoaWQsIGJsb2IsIG9wdGlvbnM9e30pIC0+XG4gICAgICBwYXJhbXMgPVxuICAgICAgICBEZXN0aW5hdGlvbktleUlkOiBpZFxuICAgICAgICBDeXBoZXJ0ZXh0QmxvYjogQnVmZmVyLmZyb20oYmxvYiwgXCJiYXNlNjRcIilcbiAgICAgIHBhcmFtcyA9IG1lcmdlIHBhcmFtcywgb3B0aW9uc1xuICAgICAge0NpcGhlcnRleHRCbG9ifSA9IGF3YWl0IGttcy5yZUVuY3J5cHQgcGFyYW1zXG4gICAgICBDaXBoZXJ0ZXh0QmxvYi50b1N0cmluZyhcImJhc2U2NFwiKVxuXG5cbiAgICB7Z2V0LCBjcmVhdGUsIHNjaGVkdWxlRGVsZXRlLCBhZGRBbGlhcywgcmVtb3ZlQWxpYXMsIHJhbmRvbUtleSwgZGVjcnlwdCwgZW5jcnlwdCwgcmVFbmNyeXB0fVxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvZ25pdG9QcmltaXRpdmVcbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceURL=primitives/kms.coffee

@@ -6,31 +6,43 @@ "use strict";

});
exports.default = void 0;
var _fs = require("fs");
var _fairmont = require("fairmont");
var _crypto = _interopRequireDefault(require("crypto"));
var _mime = require("mime");
var _pandaGarden = require("panda-garden");
var _mime2 = _interopRequireDefault(_mime);
var _pandaParchment = require("panda-parchment");
var _pandaQuill = require("panda-quill");
var _mime = _interopRequireDefault(require("mime"));
var _utils = require("./utils");
var _lift = require("../lift");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
// Primitives for the service S3. The main entities are buckets and objects.
// This follows the naming convention that methods that work on buckets will be
// prefixed "bucket*", whereas object methods will have no prefix.
var s3Primative,
var md5,
s3Primitive,
indexOf = [].indexOf;
s3Primative = function (_AWS) {
var bucketDel, bucketEmpty, bucketExists, bucketTouch, del, exists, get, list, put, s3;
s3 = _AWS.S3;
bucketExists = (() => {
var _ref = _asyncToGenerator(function* (name) {
md5 = function (string) {
return _crypto.default.createHash('md5').update(string, 'utf-8').digest("hex");
};
s3Primitive = function (SDK) {
return function (configuration) {
var bucketDel, bucketEmpty, bucketExists, bucketPutACL, bucketTouch, del, exists, get, list, multipartAbort, multipartComplete, multipartPut, multipartStart, put, s3, sign, signPost;
s3 = (0, _lift.applyConfiguration)(configuration, SDK.S3);
bucketExists = async function (name) {
var e;
try {
yield s3.headBucket({
await s3.headBucket({
Bucket: name

@@ -43,13 +55,9 @@ });

}
});
};
return function bucketExists(_x) {
return _ref.apply(this, arguments);
};
})();
exists = (0, _fairmont.curry)((() => {
var _ref2 = _asyncToGenerator(function* (name, key) {
exists = (0, _pandaGarden.curry)(async function (name, key) {
var e;
try {
yield s3.headObject({
await s3.headObject({
Bucket: name,

@@ -65,52 +73,41 @@ Key: key

return function (_x2, _x3) {
return _ref2.apply(this, arguments);
};
})());
bucketTouch = (() => {
var _ref3 = _asyncToGenerator(function* (name) {
if (yield bucketExists(name)) {
bucketTouch = async function (name) {
if (await bucketExists(name)) {
return true;
}
yield s3.createBucket({
await s3.createBucket({
Bucket: name
});
return yield (0, _fairmont.sleep)(15000); // race condition with S3 API. Wait to be available.
});
return await (0, _pandaParchment.sleep)(15000); // race condition with S3 API. Wait to be available.
};
return function bucketTouch(_x4) {
return _ref3.apply(this, arguments);
};
})();
put = (0, _fairmont.curry)((() => {
var _ref4 = _asyncToGenerator(function* (name, key, data, filetype) {
var body, content, params;
put = (0, _pandaGarden.curry)(async function (Bucket, Key, data, filetype) {
var body, content;
if (filetype) {
// here, data is stringified data.
content = body = new Buffer(data);
content = body = Buffer.from(data);
} else {
// here, data is a path to file.
filetype = _mime2.default.lookup(data);
filetype = _mime.default.getType(data);
body = (0, _fs.createReadStream)(data);
content = indexOf.call(_mime2.default.lookup(data), "text") >= 0 ? yield (0, _fairmont.read)(data) : yield (0, _fairmont.read)(data, "buffer");
content = indexOf.call(_mime.default.getType(data), "text") >= 0 ? await (0, _pandaQuill.read)(data) : await (0, _pandaQuill.read)(data, "buffer");
}
params = {
Bucket: name,
Key: key,
return await s3.putObject({
Bucket,
Key,
ContentType: filetype,
ContentMD5: new Buffer((0, _fairmont.md5)(content), "hex").toString('base64'),
ContentMD5: Buffer.from(md5(content), "hex").toString('base64'),
Body: body
};
return yield s3.putObject(params);
});
});
get = (0, _pandaGarden.curry)(async function (name, key, encoding = "utf8") {
var Body, e;
return function (_x5, _x6, _x7, _x8) {
return _ref4.apply(this, arguments);
};
})());
get = (0, _fairmont.curry)((() => {
var _ref5 = _asyncToGenerator(function* (name, key, encoding = "utf8") {
var Body, e;
try {
({ Body } = yield s3.getObject({
({
Body
} = await s3.getObject({
Bucket: name,

@@ -125,12 +122,7 @@ Key: key

});
del = (0, _pandaGarden.curry)(async function (name, key) {
var e;
return function (_x9, _x10) {
return _ref5.apply(this, arguments);
};
})());
del = (0, _fairmont.curry)((() => {
var _ref6 = _asyncToGenerator(function* (name, key) {
var e;
try {
return yield s3.deleteObject({
return await s3.deleteObject({
Bucket: name,

@@ -145,11 +137,7 @@ Key: key

return function (_x11, _x12) {
return _ref6.apply(this, arguments);
};
})());
bucketDel = (() => {
var _ref7 = _asyncToGenerator(function* (name) {
bucketDel = async function (name) {
var e;
try {
return yield s3.deleteBucket({
return await s3.deleteBucket({
Bucket: name

@@ -161,10 +149,5 @@ });

}
});
};
return function bucketDel(_x13) {
return _ref7.apply(this, arguments);
};
})();
list = (0, _fairmont.curry)((() => {
var _ref8 = _asyncToGenerator(function* (name, items = [], marker) {
list = (0, _pandaGarden.curry)(async function (name, items = [], marker) {
var Contents, IsTruncated, NextContinuationToken, p;

@@ -175,40 +158,124 @@ p = {

};
if (marker) {
p.ContinuationToken = marker;
}
({ IsTruncated, Contents, NextContinuationToken } = yield s3.listObjectsV2(p));
({
IsTruncated,
Contents,
NextContinuationToken
} = await s3.listObjectsV2(p));
if (IsTruncated) {
items = (0, _fairmont.cat)(items, Contents);
return yield list(name, items, NextContinuationToken);
items = (0, _pandaParchment.cat)(items, Contents);
return await list(name, items, NextContinuationToken);
} else {
return (0, _fairmont.cat)(items, Contents);
return (0, _pandaParchment.cat)(items, Contents);
}
});
}); // TODO: make this more efficient by throttling to X connections at once. AWS
// only supports N requests per second from an account, and I don't want this
// to violate that limit, but we can do better than one at a time.
return function (_x14) {
return _ref8.apply(this, arguments);
};
})());
// TODO: make this more efficient by throttling to X connections at once. AWS
// only supports N requests per second from an account, and I don't want this
// to violate that limit, but we can do better than one at a time.
bucketEmpty = (() => {
var _ref9 = _asyncToGenerator(function* (name) {
bucketEmpty = async function (name) {
var i, items, j, len, results;
items = yield list(name);
items = await list(name);
results = [];
for (j = 0, len = items.length; j < len; j++) {
i = items[j];
results.push((yield del(name, i.Key)));
results.push((await del(name, i.Key)));
}
return results;
});
};
return function bucketEmpty(_x15) {
return _ref9.apply(this, arguments);
bucketPutACL = async function (parameters) {
return await s3.putBucketAcl(parameters);
}; //####
// Multipart upload functions
//####
multipartStart = async function (Bucket, Key, ContentType, options = {}) {
return await s3.createMultipartUpload((0, _pandaParchment.merge)({
Bucket,
Key,
ContentType
}, options));
};
})();
return { bucketExists, exists, bucketTouch, put, get, del, bucketDel, list, bucketEmpty };
multipartAbort = async function (Bucket, Key, UploadId) {
return await s3.abortMultipartUpload({
Bucket,
Key,
UploadId
});
};
multipartComplete = async function (Bucket, Key, UploadId, MultipartUpload) {
return await s3.completeMultipartUpload({
Bucket,
Key,
UploadId,
MultipartUpload
});
};
multipartPut = async function (Bucket, Key, UploadId, PartNumber, part, filetype) {
var body, content;
if (filetype) {
// here, data is stringified data.
content = body = Buffer.from(part);
} else {
// here, data is a path to file.
filetype = _mime.default.getType(part);
body = (0, _fs.createReadStream)(part);
content = indexOf.call(filetype, "text") >= 0 ? await (0, _pandaQuill.read)(part) : await (0, _pandaQuill.read)(part, "buffer");
}
return await s3.uploadPart({
Bucket,
Key,
UploadId,
PartNumber,
ContentType: filetype,
ContentMD5: Buffer.from(md5(content), "hex").toString('base64'),
Body: body
});
}; // Signing a URL grants the bearer the ability to perform the given action against an S3 object, even if they are not you.
sign = async function (action, parameters) {
return await s3.getSignedUrl(action, parameters);
};
signPost = async function (parameters) {
return await s3.createPresignedPost(parameters);
};
return {
bucketExists,
exists,
bucketTouch,
put,
get,
del,
bucketDel,
list,
bucketEmpty,
multipartStart,
multipartAbort,
multipartPut,
multipartComplete,
sign,
signPost
};
};
};
exports.default = s3Primative;
var _default = s3Primitive;
exports.default = _default;
//# sourceMappingURL=data:application/json;base64,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QUFBLGNBQUE7QUFBQSxNQUFBLGNBQUE7QUFBQSxNQUFBLFlBQUE7QUFBQSxNQUFBLGlCQUFBO0FBQUEsTUFBQSxJQUFBO0FBQUEsTUFBQTtBQUFBLEs7QUE3SEYsRztBQURZLENBQWQ7O2VBaUllLFciLCJzb3VyY2VzQ29udGVudCI6WyIjIFByaW1pdGl2ZXMgZm9yIHRoZSBzZXJ2aWNlIFMzLiAgVGhlIG1haW4gZW50aXRpZXMgYXJlIGJ1Y2tldHMgYW5kIG9iamVjdHMuXG4jIFRoaXMgZm9sbG93cyB0aGUgbmFtaW5nIGNvbnZlbnRpb24gdGhhdCBtZXRob2RzIHRoYXQgd29yayBvbiBidWNrZXRzIHdpbGwgYmVcbiMgcHJlZml4ZWQgXCJidWNrZXQqXCIsIHdoZXJlYXMgb2JqZWN0IG1ldGhvZHMgd2lsbCBoYXZlIG5vIHByZWZpeC5cblxuaW1wb3J0IHtjcmVhdGVSZWFkU3RyZWFtfSBmcm9tIFwiZnNcIlxuaW1wb3J0IENyeXB0byBmcm9tIFwiY3J5cHRvXCJcbmltcG9ydCB7Y3Vycnl9IGZyb20gXCJwYW5kYS1nYXJkZW5cIlxuaW1wb3J0IHtzbGVlcCwgY2F0LCBtZXJnZX0gZnJvbSBcInBhbmRhLXBhcmNobWVudFwiXG5pbXBvcnQge3JlYWR9IGZyb20gXCJwYW5kYS1xdWlsbFwiXG5pbXBvcnQgbWltZSBmcm9tIFwibWltZVwiXG5cbmltcG9ydCB7bm90Rm91bmR9IGZyb20gXCIuL3V0aWxzXCJcbmltcG9ydCB7YXBwbHlDb25maWd1cmF0aW9ufSBmcm9tIFwiLi4vbGlmdFwiXG5cbm1kNSA9IChzdHJpbmcpIC0+XG4gIENyeXB0by5jcmVhdGVIYXNoKCdtZDUnKS51cGRhdGUoc3RyaW5nLCAndXRmLTgnKS5kaWdlc3QoXCJoZXhcIilcblxuczNQcmltaXRpdmUgPSAoU0RLKSAtPlxuICAoY29uZmlndXJhdGlvbikgLT5cbiAgICBzMyA9IGFwcGx5Q29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uLCBTREsuUzNcblxuICAgIGJ1Y2tldEV4aXN0cyA9IChuYW1lKSAtPlxuICAgICAgdHJ5XG4gICAgICAgIGF3YWl0IHMzLmhlYWRCdWNrZXQgQnVja2V0OiBuYW1lXG4gICAgICAgIHRydWVcbiAgICAgIGNhdGNoIGVcbiAgICAgICAgbm90Rm91bmQgZVxuXG4gICAgZXhpc3RzID0gY3VycnkgKG5hbWUsIGtleSkgLT5cbiAgICAgIHRyeVxuICAgICAgICBhd2FpdCBzMy5oZWFkT2JqZWN0IHtCdWNrZXQ6IG5hbWUsIEtleToga2V5fVxuICAgICAgICB0cnVlXG4gICAgICBjYXRjaCBlXG4gICAgICAgIG5vdEZvdW5kIGVcblxuICAgIGJ1Y2tldFRvdWNoID0gKG5hbWUpIC0+XG4gICAgICByZXR1cm4gdHJ1ZSBpZiBhd2FpdCBidWNrZXRFeGlzdHMgbmFtZVxuICAgICAgYXdhaXQgczMuY3JlYXRlQnVja2V0IHtCdWNrZXQ6IG5hbWV9XG4gICAgICBhd2FpdCBzbGVlcCAxNTAwMCAjIHJhY2UgY29uZGl0aW9uIHdpdGggUzMgQVBJLiAgV2FpdCB0byBiZSBhdmFpbGFibGUuXG5cbiAgICBwdXQgPSBjdXJyeSAoQnVja2V0LCBLZXksIGRhdGEsIGZpbGV0eXBlKSAtPlxuICAgICAgaWYgZmlsZXR5cGVcbiAgICAgICAgIyBoZXJlLCBkYXRhIGlzIHN0cmluZ2lmaWVkIGRhdGEuXG4gICAgICAgIGNvbnRlbnQgPSBib2R5ID0gQnVmZmVyLmZyb20gZGF0YVxuICAgICAgZWxzZVxuICAgICAgICAjIGhlcmUsIGRhdGEgaXMgYSBwYXRoIHRvIGZpbGUuXG4gICAgICAgIGZpbGV0eXBlID0gbWltZS5nZXRUeXBlIGRhdGFcbiAgICAgICAgYm9keSA9IGNyZWF0ZVJlYWRTdHJlYW0gZGF0YVxuICAgICAgICBjb250ZW50ID1cbiAgICAgICAgICBpZiBcInRleHRcIiBpbiBtaW1lLmdldFR5cGUoZGF0YSlcbiAgICAgICAgICAgIGF3YWl0IHJlYWQgZGF0YVxuICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgIGF3YWl0IHJlYWQgZGF0YSwgXCJidWZmZXJcIlxuXG4gICAgICBhd2FpdCBzMy5wdXRPYmplY3Qge1xuICAgICAgICBCdWNrZXQsIEtleSxcbiAgICAgICAgQ29udGVudFR5cGU6IGZpbGV0eXBlXG4gICAgICAgIENvbnRlbnRNRDU6IEJ1ZmZlci5mcm9tKG1kNShjb250ZW50KSwgXCJoZXhcIikudG9TdHJpbmcoJ2Jhc2U2NCcpXG4gICAgICAgIEJvZHk6IGJvZHlcbiAgICAgIH1cblxuICAgIGdldCA9IGN1cnJ5IChuYW1lLCBrZXksIGVuY29kaW5nPVwidXRmOFwiKSAtPlxuICAgICAgdHJ5XG4gICAgICAgIHtCb2R5fSA9IGF3YWl0IHMzLmdldE9iamVjdCB7QnVja2V0OiBuYW1lLCBLZXk6IGtleX1cbiAgICAgICAgQm9keS50b1N0cmluZyBlbmNvZGluZ1xuICAgICAgY2F0Y2ggZVxuICAgICAgICBub3RGb3VuZCBlXG5cbiAgICBkZWwgPSBjdXJyeSAobmFtZSwga2V5KSAtPlxuICAgICAgdHJ5XG4gICAgICAgIGF3YWl0IHMzLmRlbGV0ZU9iamVjdCB7QnVja2V0OiBuYW1lLCBLZXk6IGtleX1cbiAgICAgIGNhdGNoIGVcbiAgICAgICAgbm90Rm91bmQgZVxuXG4gICAgYnVja2V0RGVsID0gKG5hbWUpIC0+XG4gICAgICB0cnlcbiAgICAgICAgYXdhaXQgczMuZGVsZXRlQnVja2V0IEJ1Y2tldDogbmFtZVxuICAgICAgY2F0Y2ggZVxuICAgICAgICBub3RGb3VuZCBlXG5cbiAgICBsaXN0ID0gY3VycnkgKG5hbWUsIGl0ZW1zPVtdLCBtYXJrZXIpIC0+XG4gICAgICBwID0ge0J1Y2tldDogbmFtZSwgTWF4S2V5czogMTAwMH1cbiAgICAgIHAuQ29udGludWF0aW9uVG9rZW4gPSBtYXJrZXIgaWYgbWFya2VyXG5cbiAgICAgIHtJc1RydW5jYXRlZCwgQ29udGVudHMsIE5leHRDb250aW51YXRpb25Ub2tlbn0gPSBhd2FpdCBzMy5saXN0T2JqZWN0c1YyIHBcbiAgICAgIGlmIElzVHJ1bmNhdGVkXG4gICAgICAgIGl0ZW1zID0gY2F0IGl0ZW1zLCBDb250ZW50c1xuICAgICAgICBhd2FpdCBsaXN0IG5hbWUsIGl0ZW1zLCBOZXh0Q29udGludWF0aW9uVG9rZW5cbiAgICAgIGVsc2VcbiAgICAgICAgY2F0IGl0ZW1zLCBDb250ZW50c1xuXG4gICAgIyBUT0RPOiBtYWtlIHRoaXMgbW9yZSBlZmZpY2llbnQgYnkgdGhyb3R0bGluZyB0byBYIGNvbm5lY3Rpb25zIGF0IG9uY2UuIEFXU1xuICAgICMgb25seSBzdXBwb3J0cyBOIHJlcXVlc3RzIHBlciBzZWNvbmQgZnJvbSBhbiBhY2NvdW50LCBhbmQgSSBkb24ndCB3YW50IHRoaXNcbiAgICAjIHRvIHZpb2xhdGUgdGhhdCBsaW1pdCwgYnV0IHdlIGNhbiBkbyBiZXR0ZXIgdGhhbiBvbmUgYXQgYSB0aW1lLlxuICAgIGJ1Y2tldEVtcHR5ID0gKG5hbWUpIC0+XG4gICAgICBpdGVtcyA9IGF3YWl0IGxpc3QgbmFtZVxuICAgICAgYXdhaXQgZGVsIG5hbWUsIGkuS2V5IGZvciBpIGluIGl0ZW1zXG5cbiAgICBidWNrZXRQdXRBQ0wgPSAocGFyYW1ldGVycykgLT5cbiAgICAgIGF3YWl0IHMzLnB1dEJ1Y2tldEFjbCBwYXJhbWV0ZXJzXG5cbiAgICAjIyMjI1xuICAgICMgTXVsdGlwYXJ0IHVwbG9hZCBmdW5jdGlvbnNcbiAgICAjIyMjI1xuICAgIG11bHRpcGFydFN0YXJ0ID0gKEJ1Y2tldCwgS2V5LCBDb250ZW50VHlwZSwgb3B0aW9ucz17fSkgLT5cbiAgICAgIGF3YWl0IHMzLmNyZWF0ZU11bHRpcGFydFVwbG9hZCBtZXJnZSB7QnVja2V0LCBLZXksIENvbnRlbnRUeXBlfSwgb3B0aW9uc1xuXG4gICAgbXVsdGlwYXJ0QWJvcnQgPSAoQnVja2V0LCBLZXksIFVwbG9hZElkKSAtPlxuICAgICAgYXdhaXQgczMuYWJvcnRNdWx0aXBhcnRVcGxvYWQge0J1Y2tldCwgS2V5LCBVcGxvYWRJZH1cblxuICAgIG11bHRpcGFydENvbXBsZXRlID0gKEJ1Y2tldCwgS2V5LCBVcGxvYWRJZCwgTXVsdGlwYXJ0VXBsb2FkKSAtPlxuICAgICAgYXdhaXQgczMuY29tcGxldGVNdWx0aXBhcnRVcGxvYWQge0J1Y2tldCwgS2V5LCBVcGxvYWRJZCwgTXVsdGlwYXJ0VXBsb2FkfVxuXG4gICAgbXVsdGlwYXJ0UHV0ID0gKEJ1Y2tldCwgS2V5LCBVcGxvYWRJZCwgUGFydE51bWJlciwgcGFydCwgZmlsZXR5cGUpIC0+XG4gICAgICBpZiBmaWxldHlwZVxuICAgICAgICAjIGhlcmUsIGRhdGEgaXMgc3RyaW5naWZpZWQgZGF0YS5cbiAgICAgICAgY29udGVudCA9IGJvZHkgPSBCdWZmZXIuZnJvbSBwYXJ0XG4gICAgICBlbHNlXG4gICAgICAgICMgaGVyZSwgZGF0YSBpcyBhIHBhdGggdG8gZmlsZS5cbiAgICAgICAgZmlsZXR5cGUgPSBtaW1lLmdldFR5cGUgcGFydFxuICAgICAgICBib2R5ID0gY3JlYXRlUmVhZFN0cmVhbSBwYXJ0XG4gICAgICAgIGNvbnRlbnQgPVxuICAgICAgICAgIGlmIFwidGV4dFwiIGluIGZpbGV0eXBlXG4gICAgICAgICAgICBhd2FpdCByZWFkIHBhcnRcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICBhd2FpdCByZWFkIHBhcnQsIFwiYnVmZmVyXCJcblxuICAgICAgYXdhaXQgczMudXBsb2FkUGFydCB7XG4gICAgICAgIEJ1Y2tldCwgS2V5LCBVcGxvYWRJZCwgUGFydE51bWJlcixcbiAgICAgICAgQ29udGVudFR5cGU6IGZpbGV0eXBlXG4gICAgICAgIENvbnRlbnRNRDU6IEJ1ZmZlci5mcm9tKG1kNShjb250ZW50KSwgXCJoZXhcIikudG9TdHJpbmcoJ2Jhc2U2NCcpXG4gICAgICAgIEJvZHk6IGJvZHlcbiAgICAgIH1cblxuXG4gICAgIyBTaWduaW5nIGEgVVJMIGdyYW50cyB0aGUgYmVhcmVyIHRoZSBhYmlsaXR5IHRvIHBlcmZvcm0gdGhlIGdpdmVuIGFjdGlvbiBhZ2FpbnN0IGFuIFMzIG9iamVjdCwgZXZlbiBpZiB0aGV5IGFyZSBub3QgeW91LlxuICAgIHNpZ24gPSAoYWN0aW9uLCBwYXJhbWV0ZXJzKSAtPlxuICAgICAgYXdhaXQgczMuZ2V0U2lnbmVkVXJsIGFjdGlvbiwgcGFyYW1ldGVyc1xuXG4gICAgc2lnblBvc3QgPSAocGFyYW1ldGVycykgLT5cbiAgICAgIGF3YWl0IHMzLmNyZWF0ZVByZXNpZ25lZFBvc3QgcGFyYW1ldGVyc1xuXG5cbiAgICB7YnVja2V0RXhpc3RzLCBleGlzdHMsIGJ1Y2tldFRvdWNoLCBwdXQsIGdldCwgZGVsLCBidWNrZXREZWwsIGxpc3QsIGJ1Y2tldEVtcHR5LCBtdWx0aXBhcnRTdGFydCwgbXVsdGlwYXJ0QWJvcnQsIG11bHRpcGFydFB1dCwgbXVsdGlwYXJ0Q29tcGxldGUsIHNpZ24sIHNpZ25Qb3N0fVxuXG5cbmV4cG9ydCBkZWZhdWx0IHMzUHJpbWl0aXZlXG4iXSwic291cmNlUm9vdCI6IiJ9
//# sourceURL=primitives/s3.coffee

@@ -6,22 +6,25 @@ "use strict";

});
exports.default = void 0;
var _fairmont = require("fairmont");
var _pandaParchment = require("panda-parchment");
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
var _lift = require("../lift");
// Primitives for the service SES (simple email service).
var sesPrimative;
var sesPrimitive;
sesPrimative = function (_AWS) {
var sendEmail, ses;
ses = _AWS.SES;
sendEmail = (() => {
var _ref = _asyncToGenerator(function* (src, dest, subject, body, format = "text", opts = {}) {
sesPrimitive = function (SDK) {
return function (configuration) {
var sendEmail, ses;
ses = (0, _lift.applyConfiguration)(configuration, SDK.SES);
sendEmail = async function (src, dest, subject, body, format = "text", opts = {}) {
var Body, Destination, Source, Subject, params;
Source = src;
if ((0, _fairmont.isArray)(dest)) {
if ((0, _pandaParchment.isArray)(dest)) {
Destination = {
ToAddresses: dest
};
} else if ((0, _fairmont.isObject)(dest)) {
} else if ((0, _pandaParchment.isObject)(dest)) {
Destination = dest;

@@ -33,5 +36,7 @@ } else {

}
Subject = {
Data: subject
};
if (format === "text") {

@@ -52,18 +57,24 @@ Body = {

}
params = {
Source,
Destination,
Message: { Subject, Body }
Message: {
Subject,
Body
}
};
params = (0, _fairmont.merge)(params, opts);
return yield ses.sendEmail(params);
});
params = (0, _pandaParchment.merge)(params, opts);
return await ses.sendEmail(params);
};
return function sendEmail(_x, _x2, _x3, _x4) {
return _ref.apply(this, arguments);
return {
sendEmail
};
})();
return { sendEmail };
};
};
exports.default = sesPrimative;
var _default = sesPrimitive;
exports.default = _default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByaW1pdGl2ZXMvc2VzLmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0E7O0FBQ0E7O0FBRkE7QUFBQSxJQUFBLFlBQUE7O0FBSUEsWUFBQSxHQUFlLFVBQUEsR0FBQSxFQUFBO1NBQ2IsVUFBQSxhQUFBLEVBQUE7QUFDRSxRQUFBLFNBQUEsRUFBQSxHQUFBO0FBQUEsSUFBQSxHQUFBLEdBQU0sOEJBQUEsYUFBQSxFQUFrQyxHQUFHLENBQXJDLEdBQUEsQ0FBTjs7QUFFQSxJQUFBLFNBQUEsR0FBWSxnQkFBQSxHQUFBLEVBQUEsSUFBQSxFQUFBLE9BQUEsRUFBQSxJQUFBLEVBQTJCLE1BQUEsR0FBM0IsTUFBQSxFQUEwQyxJQUFBLEdBQTFDLEVBQUEsRUFBQTtBQUNWLFVBQUEsSUFBQSxFQUFBLFdBQUEsRUFBQSxNQUFBLEVBQUEsT0FBQSxFQUFBLE1BQUE7QUFBQSxNQUFBLE1BQUEsR0FBUyxHQUFUOztBQUNBLFVBQUcsNkJBQUgsSUFBRyxDQUFILEVBQUE7QUFDRSxRQUFBLFdBQUEsR0FBYztBQUFBLFVBQUEsV0FBQSxFQUFhO0FBQWIsU0FBZDtBQURGLE9BQUEsTUFFSyxJQUFHLDhCQUFILElBQUcsQ0FBSCxFQUFBO0FBQ0gsUUFBQSxXQUFBLEdBREcsSUFDSDtBQURHLE9BQUEsTUFBQTtBQUdILFFBQUEsV0FBQSxHQUFjO0FBQUEsVUFBQSxXQUFBLEVBQWEsQ0FBQSxJQUFBO0FBQWIsU0FBZDs7O0FBRUYsTUFBQSxPQUFBLEdBQVU7QUFBQSxRQUFBLElBQUEsRUFBTTtBQUFOLE9BQVY7O0FBQ0EsVUFBRyxNQUFBLEtBQUgsTUFBQSxFQUFBO0FBQ0UsUUFBQSxJQUFBLEdBQU87QUFBQSxVQUFBLElBQUEsRUFBTTtBQUFBLFlBQUEsSUFBQSxFQUFNO0FBQU47QUFBTixTQUFQO0FBREYsT0FBQSxNQUVLLElBQUcsTUFBQSxLQUFILE1BQUEsRUFBQTtBQUNILFFBQUEsSUFBQSxHQUFPO0FBQUEsVUFBQSxJQUFBLEVBQU07QUFBQSxZQUFBLElBQUEsRUFBTTtBQUFOO0FBQU4sU0FBUDtBQURHLE9BQUEsTUFBQTtBQUdILGNBQU0sSUFBQSxLQUFBLENBSEgscUJBR0csQ0FBTjs7O0FBRUYsTUFBQSxNQUFBLEdBQVM7QUFBQSxRQUFBLE1BQUE7QUFBQSxRQUFBLFdBQUE7QUFHUCxRQUFBLE9BQUEsRUFBUztBQUFBLFVBQUEsT0FBQTtBQUFBLFVBQUE7QUFBQTtBQUhGLE9BQVQ7QUFNQSxNQUFBLE1BQUEsR0FBUywyQkFBQSxNQUFBLEVBQUEsSUFBQSxDQUFUO0FBQ0EsYUFBQSxNQUFNLEdBQUcsQ0FBSCxTQUFBLENBQU4sTUFBTSxDQUFOO0FBeEJVLEtBQVo7O1dBMEJBO0FBQUEsTUFBQTtBQUFBLEs7QUE3QkYsRztBQURhLENBQWY7O2VBaUNlLFkiLCJzb3VyY2VzQ29udGVudCI6WyIjIFByaW1pdGl2ZXMgZm9yIHRoZSBzZXJ2aWNlIFNFUyAoc2ltcGxlIGVtYWlsIHNlcnZpY2UpLlxuaW1wb3J0IHtpc09iamVjdCwgaXNBcnJheSwgbWVyZ2V9IGZyb20gXCJwYW5kYS1wYXJjaG1lbnRcIlxuaW1wb3J0IHthcHBseUNvbmZpZ3VyYXRpb259IGZyb20gXCIuLi9saWZ0XCJcblxuc2VzUHJpbWl0aXZlID0gKFNESykgLT5cbiAgKGNvbmZpZ3VyYXRpb24pIC0+XG4gICAgc2VzID0gYXBwbHlDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24sIFNESy5TRVNcblxuICAgIHNlbmRFbWFpbCA9IChzcmMsIGRlc3QsIHN1YmplY3QsIGJvZHksIGZvcm1hdD1cInRleHRcIiwgb3B0cz17fSkgLT5cbiAgICAgIFNvdXJjZSA9IHNyY1xuICAgICAgaWYgaXNBcnJheSBkZXN0XG4gICAgICAgIERlc3RpbmF0aW9uID0gVG9BZGRyZXNzZXM6IGRlc3RcbiAgICAgIGVsc2UgaWYgaXNPYmplY3QgZGVzdFxuICAgICAgICBEZXN0aW5hdGlvbiA9IGRlc3RcbiAgICAgIGVsc2VcbiAgICAgICAgRGVzdGluYXRpb24gPSBUb0FkZHJlc3NlczogW2Rlc3RdXG5cbiAgICAgIFN1YmplY3QgPSBEYXRhOiBzdWJqZWN0XG4gICAgICBpZiBmb3JtYXQgPT0gXCJ0ZXh0XCJcbiAgICAgICAgQm9keSA9IFRleHQ6IERhdGE6IGJvZHlcbiAgICAgIGVsc2UgaWYgZm9ybWF0ID09IFwiaHRtbFwiXG4gICAgICAgIEJvZHkgPSBIdG1sOiBEYXRhOiBib2R5XG4gICAgICBlbHNlXG4gICAgICAgIHRocm93IG5ldyBFcnJvciBcIlVua25vd24gYm9keSBmb3JtYXRcIlxuXG4gICAgICBwYXJhbXMgPSB7XG4gICAgICAgIFNvdXJjZVxuICAgICAgICBEZXN0aW5hdGlvblxuICAgICAgICBNZXNzYWdlOiB7U3ViamVjdCwgQm9keX1cbiAgICAgIH1cblxuICAgICAgcGFyYW1zID0gbWVyZ2UgcGFyYW1zLCBvcHRzXG4gICAgICBhd2FpdCBzZXMuc2VuZEVtYWlsIHBhcmFtc1xuXG4gICAge3NlbmRFbWFpbH1cblxuXG5leHBvcnQgZGVmYXVsdCBzZXNQcmltaXRpdmVcbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceURL=primitives/ses.coffee

@@ -6,23 +6,30 @@ "use strict";

});
exports.default = void 0;
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
var _lift = require("../lift");
// Primitives for the service SNS (simple notificaiton service).
var snsPrimative;
var snsPrimitive;
snsPrimative = function (_AWS) {
var sendSMS, sns;
sns = _AWS.SNS;
sendSMS = (() => {
var _ref = _asyncToGenerator(function* (PhoneNumber, Message) {
return yield sns.publish({ PhoneNumber, Message });
});
snsPrimitive = function (SDK) {
return function (configuration) {
var sendSMS, sns;
sns = (0, _lift.applyConfiguration)(configuration, SDK.SNS);
return function sendSMS(_x, _x2) {
return _ref.apply(this, arguments);
sendSMS = async function (PhoneNumber, Message) {
return await sns.publish({
PhoneNumber,
Message
});
};
})();
return { sendSMS };
return {
sendSMS
};
};
};
exports.default = snsPrimative;
var _default = snsPrimitive;
exports.default = _default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByaW1pdGl2ZXMvc25zLmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0E7O0FBREE7QUFBQSxJQUFBLFlBQUE7O0FBR0EsWUFBQSxHQUFlLFVBQUEsR0FBQSxFQUFBO1NBQ2IsVUFBQSxhQUFBLEVBQUE7QUFDRSxRQUFBLE9BQUEsRUFBQSxHQUFBO0FBQUEsSUFBQSxHQUFBLEdBQU0sOEJBQUEsYUFBQSxFQUFrQyxHQUFHLENBQXJDLEdBQUEsQ0FBTjs7QUFFQSxJQUFBLE9BQUEsR0FBVSxnQkFBQSxXQUFBLEVBQUEsT0FBQSxFQUFBO0FBQ1IsYUFBQSxNQUFNLEdBQUcsQ0FBSCxPQUFBLENBQVk7QUFBQSxRQUFBLFdBQUE7QUFBbEIsUUFBQTtBQUFrQixPQUFaLENBQU47QUFEUSxLQUFWOztXQUdBO0FBQUEsTUFBQTtBQUFBLEs7QUFORixHO0FBRGEsQ0FBZjs7ZUFTZSxZIiwic291cmNlc0NvbnRlbnQiOlsiIyBQcmltaXRpdmVzIGZvciB0aGUgc2VydmljZSBTTlMgKHNpbXBsZSBub3RpZmljYWl0b24gc2VydmljZSkuXG5pbXBvcnQge2FwcGx5Q29uZmlndXJhdGlvbn0gZnJvbSBcIi4uL2xpZnRcIlxuXG5zbnNQcmltaXRpdmUgPSAoU0RLKSAtPlxuICAoY29uZmlndXJhdGlvbikgLT5cbiAgICBzbnMgPSBhcHBseUNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbiwgU0RLLlNOU1xuXG4gICAgc2VuZFNNUyA9IChQaG9uZU51bWJlciwgTWVzc2FnZSkgLT5cbiAgICAgIGF3YWl0IHNucy5wdWJsaXNoIHtQaG9uZU51bWJlciwgTWVzc2FnZX1cblxuICAgIHtzZW5kU01TfVxuXG5leHBvcnQgZGVmYXVsdCBzbnNQcmltaXRpdmVcbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceURL=primitives/sns.coffee

@@ -6,23 +6,27 @@ "use strict";

});
exports.default = void 0;
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
var _lift = require("../lift");
// Primitives for the service Cognito. The base entity is the "user". Methods that act on other entities, like pools or clients are prefixed as such.
var stsPrimative;
var stsPrimitive;
stsPrimative = function (_AWS) {
var sts, whoAmI;
sts = _AWS.STS;
whoAmI = (() => {
var _ref = _asyncToGenerator(function* () {
return yield sts.getCallerIdentity();
});
stsPrimitive = function (SDK) {
return function (configuration) {
var sts, whoAmI;
sts = (0, _lift.applyConfiguration)(configuration, SDK.STS);
return function whoAmI() {
return _ref.apply(this, arguments);
whoAmI = async function () {
return await sts.getCallerIdentity();
};
})();
return { whoAmI };
return {
whoAmI
};
};
};
exports.default = stsPrimative;
var _default = stsPrimitive;
exports.default = _default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByaW1pdGl2ZXMvc3RzLmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0E7O0FBREE7QUFBQSxJQUFBLFlBQUE7O0FBR0EsWUFBQSxHQUFlLFVBQUEsR0FBQSxFQUFBO1NBQ2IsVUFBQSxhQUFBLEVBQUE7QUFDRSxRQUFBLEdBQUEsRUFBQSxNQUFBO0FBQUEsSUFBQSxHQUFBLEdBQU0sOEJBQUEsYUFBQSxFQUFrQyxHQUFHLENBQXJDLEdBQUEsQ0FBTjs7QUFFQSxJQUFBLE1BQUEsR0FBUyxrQkFBQTtBQUFHLGFBQUEsTUFBTSxHQUFHLENBQVQsaUJBQU0sRUFBTjtBQUFILEtBQVQ7O1dBRUE7QUFBQSxNQUFBO0FBQUEsSztBQUxGLEc7QUFEYSxDQUFmOztlQVFlLFkiLCJzb3VyY2VzQ29udGVudCI6WyIjIFByaW1pdGl2ZXMgZm9yIHRoZSBzZXJ2aWNlIENvZ25pdG8uICBUaGUgYmFzZSBlbnRpdHkgaXMgdGhlIFwidXNlclwiLiAgTWV0aG9kcyB0aGF0IGFjdCBvbiBvdGhlciBlbnRpdGllcywgbGlrZSBwb29scyBvciBjbGllbnRzIGFyZSBwcmVmaXhlZCBhcyBzdWNoLlxuaW1wb3J0IHthcHBseUNvbmZpZ3VyYXRpb259IGZyb20gXCIuLi9saWZ0XCJcblxuc3RzUHJpbWl0aXZlID0gKFNESykgLT5cbiAgKGNvbmZpZ3VyYXRpb24pIC0+XG4gICAgc3RzID0gYXBwbHlDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24sIFNESy5TVFNcblxuICAgIHdob0FtSSA9IC0+IGF3YWl0IHN0cy5nZXRDYWxsZXJJZGVudGl0eSgpXG5cbiAgICB7d2hvQW1JfVxuXG5leHBvcnQgZGVmYXVsdCBzdHNQcmltaXRpdmVcbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceURL=primitives/sts.coffee

@@ -6,6 +6,16 @@ "use strict";

});
exports.where = exports.notFound = void 0;
var _pandaGarden = require("panda-garden");
var _pandaParchment = require("panda-parchment");
var _pandaRiver = require("panda-river");
var notFound, where;
exports.where = where;
exports.notFound = notFound;
// Some SunDog methods return false when a resource cannot be found instead
// of throwing the raw AWS error. In custom cases, that's not always 404.
var notFound;
exports.notFound = notFound = function (e, status = 404, code) {

@@ -16,2 +26,3 @@ if ((e != null ? e.statusCode : void 0) === status) {

}
return false;

@@ -23,2 +34,6 @@ } else {

exports.notFound = notFound;
exports.where = where = (0, _pandaGarden.curry)(function (example, i) {
return (0, _pandaRiver.select)((0, _pandaParchment.query)(example), i);
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByaW1pdGl2ZXMvdXRpbHMuY29mZmVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFGQSxJQUFBLFFBQUEsRUFBQSxLQUFBOzs7Ozs7QUFPQSxtQkFBQSxRQUFBLEdBQVcsVUFBQSxDQUFBLEVBQUksTUFBQSxHQUFKLEdBQUEsRUFBQSxJQUFBLEVBQUE7QUFDVCxNQUFBLENBQUEsQ0FBQSxJQUFBLElBQUEsR0FBRyxDQUFDLENBQUUsVUFBTixHQUFNLEtBQUgsQ0FBSCxNQUFBLE1BQUEsRUFBQTtBQUNFLFFBQVcsSUFBQSxJQUFRLENBQUMsQ0FBRCxJQUFBLEtBQW5CLElBQUEsRUFBQTtBQUFBLFlBQUEsQ0FBQTs7O1dBREYsSztBQUFBLEdBQUEsTUFBQTtBQUlFLFVBSkYsQ0FJRTs7QUFMTyxDQUFYOztBQU9BLGdCQUFBLEtBQUEsR0FBUSx3QkFBTSxVQUFBLE9BQUEsRUFBQSxDQUFBLEVBQUE7U0FBZ0Isd0JBQVEsMkJBQVIsT0FBUSxDQUFSLEVBQUEsQ0FBQSxDO0FBQXRCLENBQUEsQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3Vycnl9IGZyb20gXCJwYW5kYS1nYXJkZW5cIlxuaW1wb3J0IHtxdWVyeX0gZnJvbSBcInBhbmRhLXBhcmNobWVudFwiXG5pbXBvcnQge3NlbGVjdH0gZnJvbSBcInBhbmRhLXJpdmVyXCJcblxuXG4jIFNvbWUgU3VuRG9nIG1ldGhvZHMgcmV0dXJuIGZhbHNlIHdoZW4gYSByZXNvdXJjZSBjYW5ub3QgYmUgZm91bmQgaW5zdGVhZFxuIyBvZiB0aHJvd2luZyB0aGUgcmF3IEFXUyBlcnJvci4gIEluIGN1c3RvbSBjYXNlcywgdGhhdCdzIG5vdCBhbHdheXMgNDA0Llxubm90Rm91bmQgPSAoZSwgc3RhdHVzPTQwNCwgY29kZSkgLT5cbiAgaWYgZT8uc3RhdHVzQ29kZSA9PSBzdGF0dXNcbiAgICB0aHJvdyBlIGlmIGNvZGUgJiYgZS5jb2RlICE9IGNvZGVcbiAgICBmYWxzZVxuICBlbHNlXG4gICAgdGhyb3cgZVxuXG53aGVyZSA9IGN1cnJ5IChleGFtcGxlLCBpKSAtPiBzZWxlY3QgKHF1ZXJ5IGV4YW1wbGUpLCBpXG5cbmV4cG9ydCB7bm90Rm91bmQsIHdoZXJlfVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceURL=primitives/utils.coffee
{
"name": "sundog",
"version": "0.0.9",
"version": "1.0.0",
"description": "Wrapper for the JavaScript AWS SDK, powered by Fairmont to give it a functional boost",

@@ -10,3 +10,5 @@ "main": "build/npm/src/index.js",

],
"scripts": {},
"scripts": {
"test": "gulp npm:test"
},
"repository": {

@@ -38,11 +40,18 @@ "type": "git",

"dependencies": {
"fairmont": "2.0.1",
"mime": "^2.0.3"
"mime": "^2.0.3",
"panda-garden": "^3.0.4",
"panda-generics": "^4.0.2",
"panda-parchment": "^4.0.4",
"panda-quill": "^3.1.1",
"panda-river": "^4.3.0"
},
"devDependencies": {
"coffeescript": "2.1.0",
"gulp": "github:gulpjs/gulp#4.0",
"panda-builder": "1.1.1",
"@babel/core": "^7.1.2",
"@babel/preset-env": "^7.1.0",
"amen": "^2.1.0",
"coffeescript": "^2.3.2",
"gulp": "github:gulpjs/gulp#v4.0.0",
"panda-builder": "^2.4.1",
"source-map-support": "^0.5.0"
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc