Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@node-wot/td-tools

Package Overview
Dependencies
Maintainers
7
Versions
43
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@node-wot/td-tools - npm Package Compare versions

Comparing version
0.8.16
to
0.9.0
+3
-4
dist/td-helpers.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.setContextLanguage = exports.findPort = exports.findProtocol = void 0;
exports.findProtocol = findProtocol;
exports.findPort = findPort;
exports.setContextLanguage = setContextLanguage;
function findProtocol(td) {

@@ -9,3 +11,2 @@ const base = td.base;

}
exports.findProtocol = findProtocol;
function findPort(td) {

@@ -18,3 +19,2 @@ const base = td.base;

}
exports.findPort = findPort;
function setContextLanguage(thing, language, forceOverride) {

@@ -41,3 +41,2 @@ if (Array.isArray(thing["@context"])) {

}
exports.setContextLanguage = setContextLanguage;
//# sourceMappingURL=td-helpers.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"td-helpers.js","sourceRoot":"","sources":["../src/td-helpers.ts"],"names":[],"mappings":";;;AA4BA,SAAgB,YAAY,CAAC,EAAoB;IAC7C,MAAM,IAAI,GAAW,EAAE,CAAC,IAAI,CAAC;IAC7B,MAAM,SAAS,GAAW,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC;AAJD,oCAIC;AAKD,SAAgB,QAAQ,CAAC,EAAoB;IACzC,MAAM,IAAI,GAAW,EAAE,CAAC,IAAI,CAAC;IAC7B,MAAM,SAAS,GAAW,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAW,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,YAAY,GAAW,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACnE,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC;AAND,4BAMC;AAKD,SAAgB,kBAAkB,CAAC,KAAuB,EAAE,QAAgB,EAAE,aAAsB;IAGhG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;QAClC,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE;YACnC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;gBAChC,IAAK,UAAsC,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE;oBACpE,IAAI,aAAa,EAAE;wBACd,UAAsC,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;qBACnE;oBACD,WAAW,GAAG,IAAI,CAAC;iBACtB;aACJ;SACJ;QACD,IAAI,CAAC,WAAW,EAAE;YACb,YAA0B,CAAC,IAAI,CAAC;gBAC7B,WAAW,EAAE,QAAQ;aACxB,CAAC,CAAC;SACN;KACJ;AACL,CAAC;AAtBD,gDAsBC"}
{"version":3,"file":"td-helpers.js","sourceRoot":"","sources":["../src/td-helpers.ts"],"names":[],"mappings":";;AA4BA,oCAIC;AAKD,4BAMC;AAKD,gDAsBC;AA1CD,SAAgB,YAAY,CAAC,EAAoB;IAC7C,MAAM,IAAI,GAAW,EAAE,CAAC,IAAI,CAAC;IAC7B,MAAM,SAAS,GAAW,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC;AAKD,SAAgB,QAAQ,CAAC,EAAoB;IACzC,MAAM,IAAI,GAAW,EAAE,CAAC,IAAI,CAAC;IAC7B,MAAM,SAAS,GAAW,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAW,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,YAAY,GAAW,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACnE,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC;AAKD,SAAgB,kBAAkB,CAAC,KAAuB,EAAE,QAAgB,EAAE,aAAsB;IAGhG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;YACpC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACjC,IAAK,UAAsC,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;oBACrE,IAAI,aAAa,EAAE,CAAC;wBACf,UAAsC,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;oBACpE,CAAC;oBACD,WAAW,GAAG,IAAI,CAAC;gBACvB,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACd,YAA0B,CAAC,IAAI,CAAC;gBAC7B,WAAW,EAAE,QAAQ;aACxB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;AACL,CAAC"}

@@ -18,9 +18,19 @@ "use strict";

});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {

@@ -30,3 +40,4 @@ return (mod && mod.__esModule) ? mod : { "default": mod };

Object.defineProperty(exports, "__esModule", { value: true });
exports.serializeTD = exports.parseTD = void 0;
exports.parseTD = parseTD;
exports.serializeTD = serializeTD;
const TD = __importStar(require("./thing-description"));

@@ -53,3 +64,2 @@ const TDHelpers = __importStar(require("./td-helpers"));

function parseTD(td, normalize) {
var _a, _b, _c, _d, _e;
logDebug(`parseTD() parsing\n\`\`\`\n${td}\n\`\`\``);

@@ -114,3 +124,3 @@ const thing = JSON.parse(td.replace(/^\uFEFF/, ""));

}
for (const property of Object.values((_a = thing.properties) !== null && _a !== void 0 ? _a : {})) {
for (const property of Object.values(thing.properties ?? {})) {
for (const key of ["readOnly", "writeOnly", "observable"]) {

@@ -120,3 +130,3 @@ adjustBooleanField(property, key);

}
for (const action of Object.values((_b = thing.actions) !== null && _b !== void 0 ? _b : {})) {
for (const action of Object.values(thing.actions ?? {})) {
for (const key of ["safe", "idempotent"]) {

@@ -136,3 +146,3 @@ adjustBooleanField(action, key);

const allForms = [];
for (const [propName, prop] of Object.entries((_c = thing.properties) !== null && _c !== void 0 ? _c : {})) {
for (const [propName, prop] of Object.entries(thing.properties ?? {})) {
if (prop.forms == null) {

@@ -150,3 +160,3 @@ throw new Error(`Property '${propName}' has no forms field`);

}
for (const [actName, act] of Object.entries((_d = thing.actions) !== null && _d !== void 0 ? _d : {})) {
for (const [actName, act] of Object.entries(thing.actions ?? {})) {
if (act.forms == null) {

@@ -164,3 +174,3 @@ throw new Error(`Action '${actName}' has no forms field`);

}
for (const [evtName, evt] of Object.entries((_e = thing.events) !== null && _e !== void 0 ? _e : {})) {
for (const [evtName, evt] of Object.entries(thing.events ?? {})) {
if (evt.forms == null) {

@@ -191,5 +201,3 @@ throw new Error(`Event '${evtName}' has no forms field`);

}
exports.parseTD = parseTD;
function serializeTD(thing) {
var _a;
const copy = JSON.parse(JSON.stringify(thing));

@@ -202,3 +210,3 @@ if (copy.security == null || copy.security.length === 0) {

}
if (((_a = copy.forms) === null || _a === void 0 ? void 0 : _a.length) === 0) {
if (copy.forms?.length === 0) {
delete copy.forms;

@@ -229,3 +237,3 @@ }

}
if ((copy === null || copy === void 0 ? void 0 : copy.links.length) === 0) {
if (copy?.links.length === 0) {
delete copy.links;

@@ -236,3 +244,2 @@ }

}
exports.serializeTD = serializeTD;
//# sourceMappingURL=td-parser.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"td-parser.js","sourceRoot":"","sources":["../src/td-parser.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"td-parser.js","sourceRoot":"","sources":["../src/td-parser.ts"],"names":[],"mappings":"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"}

@@ -7,5 +7,5 @@ import Thing from "./thing-description";

export * from "./thing-model-helpers";
declare type DeepPartial<T> = T extends Record<string, unknown> ? {
type DeepPartial<T> = T extends Record<string, unknown> ? {
[P in keyof T]?: T[P] extends Array<infer I> ? Array<DeepPartial<I>> : DeepPartial<T[P]>;
} : T;
export declare type ThingModel = DeepPartial<Thing>;
export type ThingModel = DeepPartial<Thing>;

@@ -26,3 +26,3 @@ import * as WoT from "wot-typescript-definitions";

}
export declare type ThingInteraction = TDT.PropertyElement | TDT.ActionElement | TDT.EventElement;
export type ThingInteraction = TDT.PropertyElement | TDT.ActionElement | TDT.EventElement;
export declare class Form implements TDT.FormElementBase {

@@ -44,3 +44,3 @@ op?: string | string[];

}
export declare type DataSchema = WoT.DataSchema & (BooleanSchema | IntegerSchema | NumberSchema | StringSchema | ObjectSchema | ArraySchema | NullSchema);
export type DataSchema = WoT.DataSchema & (BooleanSchema | IntegerSchema | NumberSchema | StringSchema | ObjectSchema | ArraySchema | NullSchema);
export declare class BaseSchema {

@@ -91,3 +91,3 @@ type?: string;

}
export declare type SecurityType = NoSecurityScheme | BasicSecurityScheme | DigestSecurityScheme | BearerSecurityScheme | APIKeySecurityScheme | OAuth2SecurityScheme | PSKSecurityScheme;
export type SecurityType = NoSecurityScheme | BasicSecurityScheme | DigestSecurityScheme | BearerSecurityScheme | APIKeySecurityScheme | OAuth2SecurityScheme | PSKSecurityScheme;
export interface SecurityScheme {

@@ -94,0 +94,0 @@ scheme: string;

@@ -5,6 +5,6 @@ import { ValidateFunction } from "ajv";

import { Resolver } from "./resolver-interface";
export declare type LINK_TYPE = "tm:extends" | "tm:submodel";
export declare type AFFORDANCE_TYPE = "properties" | "actions" | "events";
export declare type COMPOSITION_TYPE = "extends" | "imports";
export declare type ModelImportsInput = {
export type LINK_TYPE = "tm:extends" | "tm:submodel";
export type AFFORDANCE_TYPE = "properties" | "actions" | "events";
export type COMPOSITION_TYPE = "extends" | "imports";
export type ModelImportsInput = {
uri?: string;

@@ -14,3 +14,3 @@ type: AFFORDANCE_TYPE;

};
export declare type CompositionOptions = {
export type CompositionOptions = {
baseUrl?: string;

@@ -20,3 +20,3 @@ selfComposition?: boolean;

};
export declare type modelComposeInput = {
export type modelComposeInput = {
extends?: ThingModel[];

@@ -29,3 +29,3 @@ imports?: (ModelImportsInput & {

export declare class ThingModelHelpers {
static tsSchemaValidator: ValidateFunction<unknown>;
static tsSchemaValidator: ValidateFunction;
private deps;

@@ -32,0 +32,0 @@ private resolver?;

@@ -18,18 +18,19 @@ "use strict";

});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {

@@ -102,4 +103,3 @@ return (mod && mod.__esModule) ? mod : { "default": mod };

static getModelVersion(data) {
var _a;
return typeof (data === null || data === void 0 ? void 0 : data.version) === "object" && typeof ((_a = data === null || data === void 0 ? void 0 : data.version) === null || _a === void 0 ? void 0 : _a.model) === "string"
return typeof data?.version === "object" && typeof data?.version?.model === "string"
? data.version.model

@@ -109,7 +109,6 @@ : undefined;

static validateThingModel(data) {
var _a;
const isValid = ThingModelHelpers.tsSchemaValidator(data);
let errors;
if (!isValid) {
errors = (_a = ThingModelHelpers.tsSchemaValidator.errors) === null || _a === void 0 ? void 0 : _a.map((o) => o.message).join("\n");
errors = ThingModelHelpers.tsSchemaValidator.errors?.map((o) => o.message).join("\n");
}

@@ -121,39 +120,35 @@ return {

}
getPartialTDs(model, options) {
return __awaiter(this, void 0, void 0, function* () {
const extendedModels = yield this._getPartialTDs(model, options);
const extendedPartialTDs = extendedModels.map((_data) => {
const data = _data;
if (data["@type"] instanceof Array) {
data["@type"] = data["@type"].map((el) => {
if (el === "tm:ThingModel") {
return "Thing";
}
return el;
});
}
else {
data["@type"] = "Thing";
}
return data;
});
return extendedPartialTDs;
});
}
fetchModel(uri) {
return __awaiter(this, void 0, void 0, function* () {
this.addDependency(uri);
let tm;
if (this.resolver) {
tm = (yield this.resolver.fetch(uri));
async getPartialTDs(model, options) {
const extendedModels = await this._getPartialTDs(model, options);
const extendedPartialTDs = extendedModels.map((_data) => {
const data = _data;
if (data["@type"] instanceof Array) {
data["@type"] = data["@type"].map((el) => {
if (el === "tm:ThingModel") {
return "Thing";
}
return el;
});
}
else {
tm = (yield this.localFetch(uri));
data["@type"] = "Thing";
}
if (!ThingModelHelpers.isThingModel(tm)) {
throw new Error(`Data at ${uri} is not a Thing Model`);
}
return tm;
return data;
});
return extendedPartialTDs;
}
async fetchModel(uri) {
this.addDependency(uri);
let tm;
if (this.resolver) {
tm = (await this.resolver.fetch(uri));
}
else {
tm = (await this.localFetch(uri));
}
if (!ThingModelHelpers.isThingModel(tm)) {
throw new Error(`Data at ${uri} is not a Thing Model`);
}
return tm;
}
localFetch(uri) {

@@ -234,148 +229,140 @@ const proto = uri.split("://")[0];

}
_getPartialTDs(model, options) {
return __awaiter(this, void 0, void 0, function* () {
if (!ThingModelHelpers.isThingModel(model)) {
throw new Error(`${model} is not a Thing Model`);
}
let isValid = ThingModelHelpers.validateThingModel(model);
if (isValid.valid === false || isValid.errors !== undefined) {
throw new Error(isValid.errors);
}
isValid = this.checkPlaceholderMap(model, options === null || options === void 0 ? void 0 : options.map);
if (isValid.valid === false || isValid.errors !== undefined) {
throw new Error(isValid.errors);
}
const modelInput = yield this.fetchAffordances(model);
const extendedModels = yield this.composeModel(model, modelInput, options);
return extendedModels;
});
async _getPartialTDs(model, options) {
if (!ThingModelHelpers.isThingModel(model)) {
throw new Error(`${model} is not a Thing Model`);
}
let isValid = ThingModelHelpers.validateThingModel(model);
if (isValid.valid === false || isValid.errors !== undefined) {
throw new Error(isValid.errors);
}
isValid = this.checkPlaceholderMap(model, options?.map);
if (isValid.valid === false || isValid.errors !== undefined) {
throw new Error(isValid.errors);
}
const modelInput = await this.fetchAffordances(model);
const extendedModels = await this.composeModel(model, modelInput, options);
return extendedModels;
}
fetchAffordances(data) {
var _a;
return __awaiter(this, void 0, void 0, function* () {
const modelInput = {};
const extLinks = ThingModelHelpers.getThingModelLinks(data, "tm:extends");
if (extLinks.length > 0) {
modelInput.extends = [];
for (const s of extLinks) {
let source = yield this.fetchModel(s.href);
[source] = yield this._getPartialTDs(source);
modelInput.extends.push(source);
}
async fetchAffordances(data) {
const modelInput = {};
const extLinks = ThingModelHelpers.getThingModelLinks(data, "tm:extends");
if (extLinks.length > 0) {
modelInput.extends = [];
for (const s of extLinks) {
let source = await this.fetchModel(s.href);
[source] = await this._getPartialTDs(source);
modelInput.extends.push(source);
}
const affordanceTypes = ["properties", "actions", "events"];
modelInput.imports = [];
for (const affType of affordanceTypes) {
const affRefs = ThingModelHelpers.getThingModelRef(data[affType]);
for (const [aff, affUri] of Object.entries(affRefs)) {
const refObj = this.parseTmRef(affUri);
if (refObj.uri == null) {
throw new Error(`Missing remote path in ${affUri}`);
}
let source = yield this.fetchModel(refObj.uri);
[source] = yield this._getPartialTDs(source);
delete data[affType][aff]["tm:ref"];
const importedAffordance = (_a = this.getRefAffordance(refObj, source)) !== null && _a !== void 0 ? _a : {};
refObj.name = aff;
modelInput.imports.push(Object.assign({ affordance: importedAffordance }, refObj));
}
const affordanceTypes = ["properties", "actions", "events"];
modelInput.imports = [];
for (const affType of affordanceTypes) {
const affRefs = ThingModelHelpers.getThingModelRef(data[affType]);
for (const [aff, affUri] of Object.entries(affRefs)) {
const refObj = this.parseTmRef(affUri);
if (refObj.uri == null) {
throw new Error(`Missing remote path in ${affUri}`);
}
let source = await this.fetchModel(refObj.uri);
[source] = await this._getPartialTDs(source);
delete data[affType][aff]["tm:ref"];
const importedAffordance = this.getRefAffordance(refObj, source) ?? {};
refObj.name = aff;
modelInput.imports.push({ affordance: importedAffordance, ...refObj });
}
const tmLinks = ThingModelHelpers.getThingModelLinks(data, "tm:submodel");
if (tmLinks.length > 0) {
modelInput.submodel = {};
for (const l of tmLinks) {
const submodel = yield this.fetchModel(l.href);
modelInput.submodel[l.href] = submodel;
}
}
const tmLinks = ThingModelHelpers.getThingModelLinks(data, "tm:submodel");
if (tmLinks.length > 0) {
modelInput.submodel = {};
for (const l of tmLinks) {
const submodel = await this.fetchModel(l.href);
modelInput.submodel[l.href] = submodel;
}
return modelInput;
});
}
return modelInput;
}
composeModel(data, modelObject, options) {
var _a, _b, _c, _d, _e, _f, _g;
return __awaiter(this, void 0, void 0, function* () {
let tmpThingModels = [];
const title = ((_a = data.title) !== null && _a !== void 0 ? _a : "").replace(/ /g, "");
if (!options) {
options = {};
async composeModel(data, modelObject, options) {
let tmpThingModels = [];
const title = (data.title ?? "").replace(/ /g, "");
if (!options) {
options = {};
}
if (options.baseUrl == null) {
options.baseUrl = ".";
}
const newTMHref = this.returnNewTMHref(options.baseUrl, title);
const newTDHref = this.returnNewTDHref(options.baseUrl, title);
if ("extends" in modelObject) {
const extendObjs = modelObject.extends ?? [];
for (const extendObj of extendObjs) {
data = ThingModelHelpers.extendThingModel(extendObj, data);
}
if (options.baseUrl == null) {
options.baseUrl = ".";
data.links = data.links?.filter((link) => link.rel !== "tm:extends");
}
if ("imports" in modelObject) {
const importObjs = modelObject.imports ?? [];
for (const importedObj of importObjs) {
data = ThingModelHelpers.importAffordance(importedObj.type, importedObj.name, importedObj.affordance, data);
}
const newTMHref = this.returnNewTMHref(options.baseUrl, title);
const newTDHref = this.returnNewTDHref(options.baseUrl, title);
if ("extends" in modelObject) {
const extendObjs = (_b = modelObject.extends) !== null && _b !== void 0 ? _b : [];
for (const extendObj of extendObjs) {
data = ThingModelHelpers.extendThingModel(extendObj, data);
}
data.links = (_c = data.links) === null || _c === void 0 ? void 0 : _c.filter((link) => link.rel !== "tm:extends");
}
if ("imports" in modelObject) {
const importObjs = (_d = modelObject.imports) !== null && _d !== void 0 ? _d : [];
for (const importedObj of importObjs) {
data = ThingModelHelpers.importAffordance(importedObj.type, importedObj.name, importedObj.affordance, data);
}
}
if ("submodel" in modelObject) {
const submodelObj = modelObject.submodel;
for (const [key, sub] of Object.entries(submodelObj !== null && submodelObj !== void 0 ? submodelObj : {})) {
if (options.selfComposition === true) {
if (!data.links) {
throw new Error("You used self composition but links are missing; they are needed to extract the instance name");
}
const index = data.links.findIndex((el) => el.href === key);
const el = data.links[index];
const instanceName = el.instanceName;
if (instanceName == null) {
throw new Error("Self composition is not possible without instance names");
}
const [subPartialTD] = yield this._getPartialTDs(sub, options);
const affordanceTypes = ["properties", "actions", "events"];
for (const affType of affordanceTypes) {
for (const affKey of Object.keys(((_e = subPartialTD[affType]) !== null && _e !== void 0 ? _e : {}))) {
(_f = data[affType]) !== null && _f !== void 0 ? _f : (data[affType] = {});
const newAffKey = `${instanceName}_${affKey}`;
data[affType][newAffKey] = subPartialTD[affType][affKey];
}
}
}
if ("submodel" in modelObject) {
const submodelObj = modelObject.submodel;
for (const [key, sub] of Object.entries(submodelObj ?? {})) {
if (options.selfComposition === true) {
if (!data.links) {
throw new Error("You used self composition but links are missing; they are needed to extract the instance name");
}
else {
const subTitle = ((_g = sub.title) !== null && _g !== void 0 ? _g : "").replace(/ /g, "");
const subNewHref = this.returnNewTDHref(options.baseUrl, subTitle);
if (!sub.links) {
sub.links = [];
const index = data.links.findIndex((el) => el.href === key);
const el = data.links[index];
const instanceName = el.instanceName;
if (instanceName == null) {
throw new Error("Self composition is not possible without instance names");
}
const [subPartialTD] = await this._getPartialTDs(sub, options);
const affordanceTypes = ["properties", "actions", "events"];
for (const affType of affordanceTypes) {
for (const affKey of Object.keys((subPartialTD[affType] ?? {}))) {
data[affType] ??= {};
const newAffKey = `${instanceName}_${affKey}`;
data[affType][newAffKey] = subPartialTD[affType][affKey];
}
sub.links.push({
rel: "collection",
href: newTDHref,
type: "application/td+json",
});
const tmpPartialSubTDs = yield this._getPartialTDs(sub, options);
tmpThingModels.push(...tmpPartialSubTDs);
data = ThingModelHelpers.formatSubmodelLink(data, key, subNewHref);
}
}
else {
const subTitle = (sub.title ?? "").replace(/ /g, "");
const subNewHref = this.returnNewTDHref(options.baseUrl, subTitle);
if (!sub.links) {
sub.links = [];
}
sub.links.push({
rel: "collection",
href: newTDHref,
type: "application/td+json",
});
const tmpPartialSubTDs = await this._getPartialTDs(sub, options);
tmpThingModels.push(...tmpPartialSubTDs);
data = ThingModelHelpers.formatSubmodelLink(data, key, subNewHref);
}
}
if (!data.links || options.selfComposition === true) {
data.links = [];
}
data.links.push({
rel: "type",
href: newTMHref,
type: "application/tm+json",
});
if ("version" in data) {
delete data.version;
}
if (options.map) {
data = this.fillPlaceholder(data, options.map);
}
tmpThingModels.unshift(data);
tmpThingModels = tmpThingModels.map((el) => this.fillPlaceholder(el, options === null || options === void 0 ? void 0 : options.map));
if (this.deps.length > 0) {
this.removeDependency();
}
return tmpThingModels;
}
if (!data.links || options.selfComposition === true) {
data.links = [];
}
data.links.push({
rel: "type",
href: newTMHref,
type: "application/tm+json",
});
if ("version" in data) {
delete data.version;
}
if (options.map) {
data = this.fillPlaceholder(data, options.map);
}
tmpThingModels.unshift(data);
tmpThingModels = tmpThingModels.map((el) => this.fillPlaceholder(el, options?.map));
if (this.deps.length > 0) {
this.removeDependency();
}
return tmpThingModels;
}

@@ -408,3 +395,3 @@ static getThingModelRef(data) {

const events = source.events;
extendedModel = Object.assign(Object.assign({}, source), dest);
extendedModel = { ...source, ...dest };
if (properties) {

@@ -416,3 +403,3 @@ if (!extendedModel.properties) {

if (dest.properties && dest.properties[key] != null) {
extendedModel.properties[key] = Object.assign(Object.assign({}, properties[key]), dest.properties[key]);
extendedModel.properties[key] = { ...properties[key], ...dest.properties[key] };
}

@@ -430,3 +417,3 @@ else {

if (dest.actions && key in dest.actions) {
extendedModel.actions[key] = Object.assign(Object.assign({}, actions[key]), dest.actions[key]);
extendedModel.actions[key] = { ...actions[key], ...dest.actions[key] };
}

@@ -444,3 +431,3 @@ else {

if (dest.events && key in dest.events) {
extendedModel.events[key] = Object.assign(Object.assign({}, events[key]), dest.events[key]);
extendedModel.events[key] = { ...events[key], ...dest.events[key] };
}

@@ -459,3 +446,3 @@ else {

const d = dest[affordanceType][affordanceName];
dest[affordanceType][affordanceName] = Object.assign(Object.assign({}, source), d);
dest[affordanceType][affordanceName] = { ...source, ...d };
for (const key in dest[affordanceType][affordanceName]) {

@@ -480,3 +467,8 @@ if (dest[affordanceType][affordanceName][key] === undefined) {

}
source.links[index] = Object.assign(Object.assign({}, el), { href: newHref, type: "application/td+json", rel: "item" });
source.links[index] = {
...el,
href: newHref,
type: "application/td+json",
rel: "item",
};
return source;

@@ -509,10 +501,9 @@ }

checkPlaceholderMap(model, map = {}) {
var _a;
const regex = "{{.*?}}";
const modelString = JSON.stringify(model);
let keys = (_a = modelString.match(new RegExp(regex, "g"))) !== null && _a !== void 0 ? _a : [];
let keys = modelString.match(new RegExp(regex, "g")) ?? [];
keys = keys.map((el) => el.replace("{{", "").replace("}}", ""));
let isValid = true;
let errors;
if ((keys === null || keys === void 0 ? void 0 : keys.length) > 0 && (map === undefined || map === null)) {
if (keys?.length > 0 && (map === undefined || map === null)) {
isValid = false;

@@ -519,0 +510,0 @@ errors = `No map provided for model ${model.title}`;

@@ -1,1 +0,1 @@

{"version":3,"file":"thing-model-helpers.js","sourceRoot":"","sources":["../src/thing-model-helpers.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"thing-model-helpers.js","sourceRoot":"","sources":["../src/thing-model-helpers.ts"],"names":[],"mappings":"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"}
{
"name": "@node-wot/td-tools",
"version": "0.8.16",
"version": "0.9.0",
"description": "W3C Web of Things (WoT) Thing Description parser, serializer, and other tools",

@@ -19,2 +19,3 @@ "author": "Eclipse Thingweb <thingweb-dev@eclipse.org> (https://thingweb.io/)",

"ajv": "^8.11.0",
"ajv-formats": "^2.1.1",
"debug": "^4.3.4",

@@ -21,0 +22,0 @@ "is-absolute-url": "3.0.3",