ifc-language-server/node_modules/concat-map
Ryan Schultz 8afacf268a Implemented a working Language Server Protocol (LSP) for IFC files with:
- 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."
2025-12-07 10:20:07 -06:00
..
example Implemented a working Language Server Protocol (LSP) for IFC files with: 2025-12-07 10:20:07 -06:00
test Implemented a working Language Server Protocol (LSP) for IFC files with: 2025-12-07 10:20:07 -06:00
.travis.yml Implemented a working Language Server Protocol (LSP) for IFC files with: 2025-12-07 10:20:07 -06:00
index.js Implemented a working Language Server Protocol (LSP) for IFC files with: 2025-12-07 10:20:07 -06:00
LICENSE Implemented a working Language Server Protocol (LSP) for IFC files with: 2025-12-07 10:20:07 -06:00
package.json Implemented a working Language Server Protocol (LSP) for IFC files with: 2025-12-07 10:20:07 -06:00
README.markdown Implemented a working Language Server Protocol (LSP) for IFC files with: 2025-12-07 10:20:07 -06:00

concat-map

Concatenative mapdashery.

browser support

build status

example

var concatMap = require('concat-map');
var xs = [ 1, 2, 3, 4, 5, 6 ];
var ys = concatMap(xs, function (x) {
    return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];
});
console.dir(ys);

[ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ]

methods

var concatMap = require('concat-map')

concatMap(xs, fn)

Return an array of concatenated elements by calling fn(x, i) for each element x and each index i in the array xs.

When fn(x, i) returns an array, its result will be concatenated with the result array. If fn(x, i) returns anything else, that value will be pushed onto the end of the result array.

install

With npm do:

npm install concat-map

license

MIT

notes

This module was written while sitting high above the ground in a tree.