movex-core-util
Version:
Movex Core Util is the library of utilities for Movex
58 lines • 2.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isResourceIdentifierOfType = exports.isSameResourceIdentifier = exports.isResourceIdentifier = exports.toWsResponseResultPayloadErr = exports.toWsResponseResultPayloadOk = exports.toResourceIdentifierStr = exports.toResourceIdentifierObj = void 0;
const misc_1 = require("./misc");
const toResourceIdentifierObj = (r) => {
if (typeof r === 'string') {
const resourceType = r.slice(0, r.indexOf(':'));
const resourceId = r.slice(r.indexOf(':') + 1);
return {
resourceType,
resourceId,
};
}
return r;
};
exports.toResourceIdentifierObj = toResourceIdentifierObj;
const toResourceIdentifierStr = (r) => typeof r === 'string' ? r : `${r.resourceType}:${r.resourceId}`;
exports.toResourceIdentifierStr = toResourceIdentifierStr;
const toWsResponseResultPayloadOk = (val) => ({
ok: true,
err: false,
val,
});
exports.toWsResponseResultPayloadOk = toWsResponseResultPayloadOk;
const toWsResponseResultPayloadErr = (val) => ({
ok: false,
err: true,
val,
});
exports.toWsResponseResultPayloadErr = toWsResponseResultPayloadErr;
// This was removed on Apirl 1st 2024, as I'm not sure it's used anywhere
// export const getResourceRid = <TResourceType extends string>(
// r: GenericClientResourceShapeOfType<TResourceType>
// ) =>
// toResourceIdentifierStr({
// resourceType: r.type,
// resourceId: r.id,
// });
const isResourceIdentifier = (s) => {
if ((0, misc_1.isObject)(s)) {
return ((0, misc_1.keyInObject)(s, 'resourceType') &&
(0, misc_1.keyInObject)(s, 'resourceId') &&
typeof s.resourceId === 'string' &&
typeof s.resourceType === 'string' &&
s.resourceId.length > 0 &&
s.resourceType.length > 0);
}
if (typeof s === 'string') {
return (0, exports.isResourceIdentifier)((0, exports.toResourceIdentifierObj)(s));
}
return false;
};
exports.isResourceIdentifier = isResourceIdentifier;
const isSameResourceIdentifier = (aRid, bRid) => (0, exports.toResourceIdentifierStr)(aRid) === (0, exports.toResourceIdentifierStr)(bRid);
exports.isSameResourceIdentifier = isSameResourceIdentifier;
const isResourceIdentifierOfType = (t, s) => (0, exports.isResourceIdentifier)(s) && (0, exports.toResourceIdentifierObj)(s).resourceType === t;
exports.isResourceIdentifierOfType = isResourceIdentifierOfType;
//# sourceMappingURL=domain.js.map