UNPKG

dune-ts

Version:

Unofficial Dune Analytics Typescript Client

30 lines 4.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ParameterType = exports.Parameters = void 0; const Parameter_1 = require("./Parameter"); Object.defineProperty(exports, "ParameterType", { enumerable: true, get: function () { return Parameter_1.ParameterType; } }); const validate = (parameterDatas) => { parameterDatas.forEach((parameterData, index) => { if (!(parameterData.type === Parameter_1.ParameterType.Datetime || parameterData.type === Parameter_1.ParameterType.Number || parameterData.type === Parameter_1.ParameterType.Text)) throw new Error(`Expecting 'type' to be 'datetime', 'number' or 'text (parameter at index ${index})`); }); }; const PARAMS = { [Parameter_1.ParameterType.Datetime]: Parameter_1.DatetimeParameter, [Parameter_1.ParameterType.Number]: Parameter_1.NumberParameter, [Parameter_1.ParameterType.Text]: Parameter_1.TextParameter, }; class Parameters { static create(parameterDatas) { if (parameterDatas === undefined) return []; validate(parameterDatas); return parameterDatas.map(({ key, type, value }) => { return new PARAMS[type]({ key, value }).toObject(); }); } } exports.Parameters = Parameters; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoic3JjLyIsInNvdXJjZXMiOlsiUGFyYW1ldGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FNb0I7QUF3Q1gsOEZBMUNQLHlCQUFhLE9BMENPO0FBbEN0QixNQUFNLFFBQVEsR0FBRyxDQUFDLGNBQThCLEVBQUUsRUFBRTtJQUNsRCxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQzlDLElBQ0UsQ0FBQyxDQUNDLGFBQWEsQ0FBQyxJQUFJLEtBQUsseUJBQWEsQ0FBQyxRQUFRO1lBQzdDLGFBQWEsQ0FBQyxJQUFJLEtBQUsseUJBQWEsQ0FBQyxNQUFNO1lBQzNDLGFBQWEsQ0FBQyxJQUFJLEtBQUsseUJBQWEsQ0FBQyxJQUFJLENBQzFDO1lBRUQsTUFBTSxJQUFJLEtBQUssQ0FDYiw0RUFBNEUsS0FBSyxHQUFHLENBQ3JGLENBQUE7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sTUFBTSxHQUFHO0lBQ2IsQ0FBQyx5QkFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLDZCQUFpQjtJQUMzQyxDQUFDLHlCQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsMkJBQWU7SUFDdkMsQ0FBQyx5QkFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLHlCQUFhO0NBQ3BDLENBQUE7QUFFRCxNQUFhLFVBQVU7SUFDckIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUErQjtRQUMzQyxJQUFJLGNBQWMsS0FBSyxTQUFTO1lBQUUsT0FBTyxFQUFFLENBQUE7UUFFM0MsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBRXhCLE9BQU8sY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBRWpELE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBcUIsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDckUsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0Y7QUFYRCxnQ0FXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERhdGV0aW1lUGFyYW1ldGVyLFxuICBOdW1iZXJQYXJhbWV0ZXIsXG4gIFBhcmFtZXRlckRhdGEsXG4gIFBhcmFtZXRlclR5cGUsXG4gIFRleHRQYXJhbWV0ZXIsXG59IGZyb20gJy4vUGFyYW1ldGVyJ1xuXG5leHBvcnQgdHlwZSBQYXJhbWV0ZXJEYXRhcyA9IEFycmF5PFxuICBQYXJhbWV0ZXJEYXRhPHN0cmluZyB8IERhdGU+ICYgeyB0eXBlOiB1bmtub3duIH1cbj5cblxuY29uc3QgdmFsaWRhdGUgPSAocGFyYW1ldGVyRGF0YXM6IFBhcmFtZXRlckRhdGFzKSA9PiB7XG4gIHBhcmFtZXRlckRhdGFzLmZvckVhY2goKHBhcmFtZXRlckRhdGEsIGluZGV4KSA9PiB7XG4gICAgaWYgKFxuICAgICAgIShcbiAgICAgICAgcGFyYW1ldGVyRGF0YS50eXBlID09PSBQYXJhbWV0ZXJUeXBlLkRhdGV0aW1lIHx8XG4gICAgICAgIHBhcmFtZXRlckRhdGEudHlwZSA9PT0gUGFyYW1ldGVyVHlwZS5OdW1iZXIgfHxcbiAgICAgICAgcGFyYW1ldGVyRGF0YS50eXBlID09PSBQYXJhbWV0ZXJUeXBlLlRleHRcbiAgICAgIClcbiAgICApXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBFeHBlY3RpbmcgJ3R5cGUnIHRvIGJlICdkYXRldGltZScsICdudW1iZXInIG9yICd0ZXh0IChwYXJhbWV0ZXIgYXQgaW5kZXggJHtpbmRleH0pYCxcbiAgICAgIClcbiAgfSlcbn1cblxuY29uc3QgUEFSQU1TID0ge1xuICBbUGFyYW1ldGVyVHlwZS5EYXRldGltZV06IERhdGV0aW1lUGFyYW1ldGVyLFxuICBbUGFyYW1ldGVyVHlwZS5OdW1iZXJdOiBOdW1iZXJQYXJhbWV0ZXIsXG4gIFtQYXJhbWV0ZXJUeXBlLlRleHRdOiBUZXh0UGFyYW1ldGVyLFxufVxuXG5leHBvcnQgY2xhc3MgUGFyYW1ldGVycyB7XG4gIHN0YXRpYyBjcmVhdGUocGFyYW1ldGVyRGF0YXM/OiBQYXJhbWV0ZXJEYXRhcykge1xuICAgIGlmIChwYXJhbWV0ZXJEYXRhcyA9PT0gdW5kZWZpbmVkKSByZXR1cm4gW11cblxuICAgIHZhbGlkYXRlKHBhcmFtZXRlckRhdGFzKVxuXG4gICAgcmV0dXJuIHBhcmFtZXRlckRhdGFzLm1hcCgoeyBrZXksIHR5cGUsIHZhbHVlIH0pID0+IHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgIHJldHVybiBuZXcgUEFSQU1TW3R5cGUgYXMgUGFyYW1ldGVyVHlwZV0oeyBrZXksIHZhbHVlIH0pLnRvT2JqZWN0KClcbiAgICB9KVxuICB9XG59XG5cbmV4cG9ydCB7IFBhcmFtZXRlclR5cGUgfVxuIl19