@altostra/core
Version:
Core library for shared types and logic
1 lines • 5.13 kB
JavaScript
;var __awaiter=this&&this.__awaiter||function(t,r,e,o){return new(e||(e=Promise))((function(n,s){function p(t){try{a(o.next(t))}catch(t){s(t)}}function i(t){try{a(o.throw(t))}catch(t){s(t)}}function a(t){var r;t.done?n(t.value):(r=t.value,r instanceof e?r:new e((function(t){t(r)}))).then(p,i)}a((o=o.apply(t,r||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.toAlphanumUuid=exports.toCamelCase=exports.logAndGetRejection=exports.smashRecords=exports.pickBy=exports.propEq=exports.zipRecord=exports.hasEntry=exports.reduce=exports.forEach=exports.mapFilter=exports.filterType=exports.filter=exports.flatMapP=exports.flatMap=exports.narrowRecord=exports.filterRecord=exports.filterMapRecord=exports.mapRecord=exports.reduceRecord=exports.merge=exports.toPairs=exports.keys=exports.values=exports.offsetPoint=exports.mapIf=exports.map_=exports.map=exports.flatten=exports.concat=exports.snd=exports.fst=exports.last=exports.head=exports.length=exports.toLowerCase=exports.assign=exports.isEmptyArray=exports.isNonEmptyArray=exports.exists=exports.id=exports.notNull=exports.sanitizeId=exports.getFromEnvironment=void 0;const AltoError_1=require("../common/Errors/AltoError");function getFromEnvironment(t,r={}){return t.reduce((t,e)=>{const o=process.env[e]||r[e];if(!o)throw AltoError_1.AltoError.create(`Missing ${e} environment variable.`);return t[e]=o,t},{})}exports.getFromEnvironment=getFromEnvironment;const MAX_ID_LEN=255;function sanitizeId(t){return"string"!=typeof t?"":t.slice(0,255).replace(/[^A-z0-9_-]/gm,"")}function notNull(t){return null!=t}function id(t){return t}function exists(t){return null!=t}function isNonEmptyArray(t){return Array.isArray(t)&&t.length>0}function isEmptyArray(t){return 0===t.length}function assign(t,r,e){return t[r]=e,t}function toLowerCase(t){return t.toLowerCase()}function length(t){return t.length}function head(t){return t[0]}function last(t){return t[length(t)-1]}function fst([t,r]){return t}function snd([t,r]){return r}function concat(...t){return flatten(t)}function flatten(t){return t.flat()}function map(t,r){return r.map(t)}function map_(t){return r=>map(t,r)}function mapIf(t){return(r,e)=>map(e=>t(e)?r(e):e,e)}function offsetPoint(t){return r=>({x:r.x+t.x,y:r.y+t.y,z:t.z+r.z})}function keys(t){return Object.keys(t)}function toPairs(t){const r=[];for(const e in t)t[e]&&r.push([e,t[e]]);return r}function merge(t,r){return Object.assign(t,r)}function reduceRecord(t,r,e){return reduce((r,o)=>t(r,e[o],o),r,keys(e))}function mapRecord(t,r){const e={};for(const o in r)r[o]&&(e[o]=t(r[o],o));return e}function filterMapRecord(t,r){return e=>{const o={};for(const n in e)if(e[n]){const s=e[n];t(s,n)&&(o[n]=r(s,n))}return o}}function filterRecord(t){return r=>{const e={};for(const o in r)r[o]&&t(r[o],o)&&(e[o]=r[o]);return e}}function narrowRecord(t){return r=>{const e={};for(const o in r)r[o]&&t(r[o])&&(e[o]=r[o]);return e}}function flatMap(t,r){return flatten(map(t,r))}function flatMapP(t,r){return __awaiter(this,void 0,void 0,(function*(){return flatten(yield Promise.all(map(t,r)))}))}function filter(t,r){return r.filter(t)}function filterType(t,r){return r.filter(t)}function mapFilter(t,r){return r.map(t).filter(notNull)}function forEach(t,r){return r.forEach(t),r}function reduce(t,r,e){return e.reduce(t,r)}function hasEntry(t,r){return Object.prototype.hasOwnProperty.call(r,t)}function zipRecord(t,r){const e=Math.min(length(t),length(r)),o={};for(let n=0;n<e;n++)o[t[n]]=r[n],n++;return o}function propEq(t,r){return e=>e[t]===r}function pickBy(t,r){const e={};for(const o in r)t(r[o],o)&&(e[o]=r[o]);return e}function smashRecords(t,r,e){return e.reduce((r,e)=>Object.assign(r,t(e)),r)}function logAndGetRejection(t,r){const e=new Error(""+t);return console.log(r),Promise.reject(e)}function toCamelCase(t){return t.replace(/(?:^\w|[A-Z]|\b\w)/g,(t,r)=>0===r?t.toLowerCase():t.toUpperCase()).replace(/\s+/g,"")}function toAlphanumUuid(t){return t.toString().replace(/[-:]/gi,"")}exports.sanitizeId=sanitizeId,exports.notNull=notNull,exports.id=id,exports.exists=exists,exports.isNonEmptyArray=isNonEmptyArray,exports.isEmptyArray=isEmptyArray,exports.assign=assign,exports.toLowerCase=toLowerCase,exports.length=length,exports.head=head,exports.last=last,exports.fst=fst,exports.snd=snd,exports.concat=concat,exports.flatten=flatten,exports.map=map,exports.map_=map_,exports.mapIf=mapIf,exports.offsetPoint=offsetPoint,exports.values=Object.values,exports.keys=keys,exports.toPairs=toPairs,exports.merge=merge,exports.reduceRecord=reduceRecord,exports.mapRecord=mapRecord,exports.filterMapRecord=filterMapRecord,exports.filterRecord=filterRecord,exports.narrowRecord=narrowRecord,exports.flatMap=flatMap,exports.flatMapP=flatMapP,exports.filter=filter,exports.filterType=filterType,exports.mapFilter=mapFilter,exports.forEach=forEach,exports.reduce=reduce,exports.hasEntry=hasEntry,exports.zipRecord=zipRecord,exports.propEq=propEq,exports.pickBy=pickBy,exports.smashRecords=smashRecords,exports.logAndGetRejection=logAndGetRejection,exports.toCamelCase=toCamelCase,exports.toAlphanumUuid=toAlphanumUuid;