- Hover provider showing entity information and type - Go-to-definition (F12) for entity references - Basic IFC file validation (ISO-10303-21 header check) - Entity parsing with regex-based detection - Proper CommonJS module system (avoiding ES module issues) This replaces the broken baseline from ifc-developer-tools which had: - Non-functional ES module configuration - Circular dependency issues - Parser crashes - Non-working PositionVisitor Built on Microsoft's LSP example template for a clean, maintainable foundation. Next: Add hierarchical entity dependency tree in hover tooltip."
38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
"use strict";
|
|
|
|
exports.base64 = true;
|
|
exports.array = true;
|
|
exports.string = true;
|
|
exports.arraybuffer = typeof ArrayBuffer !== "undefined" && typeof Uint8Array !== "undefined";
|
|
exports.nodebuffer = typeof Buffer !== "undefined";
|
|
// contains true if JSZip can read/generate Uint8Array, false otherwise.
|
|
exports.uint8array = typeof Uint8Array !== "undefined";
|
|
|
|
if (typeof ArrayBuffer === "undefined") {
|
|
exports.blob = false;
|
|
}
|
|
else {
|
|
var buffer = new ArrayBuffer(0);
|
|
try {
|
|
exports.blob = new Blob([buffer], {
|
|
type: "application/zip"
|
|
}).size === 0;
|
|
}
|
|
catch (e) {
|
|
try {
|
|
var Builder = self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder;
|
|
var builder = new Builder();
|
|
builder.append(buffer);
|
|
exports.blob = builder.getBlob("application/zip").size === 0;
|
|
}
|
|
catch (e) {
|
|
exports.blob = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
try {
|
|
exports.nodestream = !!require("readable-stream").Readable;
|
|
} catch(e) {
|
|
exports.nodestream = false;
|
|
}
|