@m-ld/gateway
Version:
m-ld gateway for services
25 lines • 1.96 kB
JavaScript
import { AccountOwnedId } from '../lib/index.js';
import { Optional, propertyValue } from '@m-ld/m-ld';
/**
* Details of a subdomain registered in the Gateway domain
*/
export class Subdomain {
static fromJSON(src) {
const { account, name } = AccountOwnedId.fromReference(src);
const useSignatures = propertyValue(src, 'useSignatures', Optional, Boolean);
return new Subdomain({ account, name, useSignatures });
}
constructor(spec) {
this.account = spec.account;
this.name = spec.name;
this.useSignatures = spec.useSignatures ?? false;
}
toJSON() {
return {
'@id': new AccountOwnedId(this).toRelativeIri(),
'@type': 'Subdomain',
useSignatures: this.useSignatures
};
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3ViZG9tYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEvU3ViZG9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBVyxNQUFNLFlBQVksQ0FBQztBQVE5RDs7R0FFRztBQUNILE1BQU0sT0FBTyxTQUFTO0lBQ3BCLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBUTtRQUN0QixNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUQsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLEdBQUcsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdFLE9BQU8sSUFBSSxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQU1ELFlBQVksSUFBbUI7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDO0lBQ25ELENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLEVBQUU7WUFDL0MsT0FBTyxFQUFFLFdBQVc7WUFDcEIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1NBQ2xDLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==