1
0
forked from dyf/APP
Files
APP/node_modules/esniff/resolve-separated.js
liubiao 70651b81f5 revert e5e2aca0c4
revert Merge branch 'main' of http://47.107.152.87:3000/liubiao/APP

# Conflicts:
#	.gitignore
#	pages/common/index/index.vue
#	unpackage/dist/dev/app-plus/app-config-service.js
#	unpackage/dist/dev/app-plus/app-service.js
#	unpackage/dist/dev/app-plus/app-view.js
#	unpackage/dist/dev/app-plus/manifest.json
#	utils/request.js
2025-07-31 10:59:29 +08:00

28 lines
942 B
JavaScript

"use strict";
var from = require("es5-ext/array/from")
, ensureString = require("type/string/ensure")
, primitiveSet = require("es5-ext/object/primitive-set")
, esniff = require("./");
var allowedSeparators = primitiveSet.apply(null, from(".+-*/,&|;"));
module.exports = function (code, sep/*, limit*/) {
var expressions, fromIndex, limit = arguments[2] || Infinity;
code = ensureString(code);
sep = ensureString(sep);
if (!allowedSeparators[sep]) throw new Error(sep + " is not supported separator");
expressions = [];
fromIndex = 0;
esniff(code, function (emitter) {
emitter.on("trigger:" + sep, function (accessor) {
if (accessor.scopeDepth !== 0) return;
var index = accessor.index;
if (expressions.push(code.slice(fromIndex, index)) === limit) accessor.stop();
fromIndex = index + 1;
});
});
if (expressions.length < limit) expressions.push(code.slice(fromIndex));
return expressions;
};