mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 19:45:09 +08:00
# Conflicts: # jsowell-ui/.env.development # jsowell-ui/.env.staging # jsowell-ui/bin/build-sit.bat # jsowell-ui/bin/build.bat # jsowell-ui/src/api/adapayMember/adapayMember.js # jsowell-ui/src/api/pile/merchant.js # jsowell-ui/src/router/index.js # jsowell-ui/src/views/financial/financeDetail.vue # jsowell-ui/src/views/financial/merchant.vue # jsowell-ui/src/views/homeIndex/homeIndex.vue # jsowell-ui/src/views/login.vue # jsowell-ui/src/views/pile/basic/detail.vue # jsowell-ui/src/views/pile/station/components/SiteInfo.vue # jsowell-ui/src/views/pile/station/detail.vue # jsowell-ui/src/views/pile/station/orderReport.vue
66 lines
1.8 KiB
JavaScript
66 lines
1.8 KiB
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.loop = exports.conditional = exports.parse = void 0;
|
|
|
|
var parse = function parse(stream, schema) {
|
|
var result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
var parent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : result;
|
|
|
|
if (Array.isArray(schema)) {
|
|
schema.forEach(function (partSchema) {
|
|
return parse(stream, partSchema, result, parent);
|
|
});
|
|
} else if (typeof schema === 'function') {
|
|
schema(stream, result, parent, parse);
|
|
} else {
|
|
var key = Object.keys(schema)[0];
|
|
|
|
if (Array.isArray(schema[key])) {
|
|
parent[key] = {};
|
|
parse(stream, schema[key], result, parent[key]);
|
|
} else {
|
|
parent[key] = schema[key](stream, result, parent, parse);
|
|
}
|
|
}
|
|
|
|
return result;
|
|
};
|
|
|
|
exports.parse = parse;
|
|
|
|
var conditional = function conditional(schema, conditionFunc) {
|
|
return function (stream, result, parent, parse) {
|
|
if (conditionFunc(stream, result, parent)) {
|
|
parse(stream, schema, result, parent);
|
|
}
|
|
};
|
|
};
|
|
|
|
exports.conditional = conditional;
|
|
|
|
var loop = function loop(schema, continueFunc) {
|
|
return function (stream, result, parent, parse) {
|
|
var arr = [];
|
|
var lastStreamPos = stream.pos;
|
|
|
|
while (continueFunc(stream, result, parent)) {
|
|
var newParent = {};
|
|
parse(stream, schema, result, newParent); // cases when whole file is parsed but no termination is there and stream position is not getting updated as well
|
|
// it falls into infinite recursion, null check to avoid the same
|
|
|
|
if (stream.pos === lastStreamPos) {
|
|
break;
|
|
}
|
|
|
|
lastStreamPos = stream.pos;
|
|
arr.push(newParent);
|
|
}
|
|
|
|
return arr;
|
|
};
|
|
};
|
|
|
|
exports.loop = loop; |