Skip to content

Instantly share code, notes, and snippets.

@hyle
Last active March 26, 2026 13:46
Show Gist options
  • Select an option

  • Save hyle/1180607 to your computer and use it in GitHub Desktop.

Select an option

Save hyle/1180607 to your computer and use it in GitHub Desktop.
KnockoutJS utils (ko.utils) signatures
// knockout 2.2.1
ko.utils.arrayFilter = function (array, predicate) { /* .. */ }
ko.utils.arrayFirst = function (array, predicate, predicateOwner) { /* .. */ }
ko.utils.arrayForEach = function (array, action) { /* .. */ }
ko.utils.arrayGetDistinctValues = function (array) { /* .. */ }
ko.utils.arrayIndexOf = function (array, item) { /* .. */ }
ko.utils.arrayMap = function (array, mapping) { /* .. */ }
ko.utils.arrayPushAll = function (array, valuesToPush) { /* .. */ }
ko.utils.arrayRemoveItem = function (array, itemToRemove) { /* .. */ }
ko.utils.cloneNodes = function (nodesArray, shouldCleanNodes) { /* .. */ }
ko.utils.compareArrays = function compareArrays(oldArray, newArray, dontLimitMoves) { /* .. */ }
ko.utils.domNodeIsAttachedToDocument = function (node) { /* .. */ }
ko.utils.domNodeIsContainedBy = function (node, containedByNode) { /* .. */ }
ko.utils.emptyDomNode = function (domNode) { /* .. */ }
ko.utils.ensureSelectElementIsRenderedCorrectly = function (selectElement) { /* .. */ }
ko.utils.extend = function (target, source) { /* .. */ }
ko.utils.forceRefresh = function (node) { /* .. */ }
ko.utils.getFormFields = function (form, fieldName) { /* .. */ }
ko.utils.makeArray = function (arrayLikeObject) { /* .. */ }
ko.utils.moveCleanedNodesToContainerElement = function (nodes) { /* .. */ }
ko.utils.parseHtmlFragment = function (html) { /* .. */ }
ko.utils.parseJson = function (jsonString) { /* .. */ }
ko.utils.peekObservable = function (value) { /* .. */ }
ko.utils.postJson = function (urlOrForm, data, options) { /* .. */ }
ko.utils.range = function (min, max) { /* .. */ }
ko.utils.registerEventHandler = function (element, eventType, handler) { /* .. */ }
ko.utils.replaceDomNodes = function (nodeToReplaceOrNodeArray, newNodesArray) { /* .. */ }
ko.utils.setDomNodeChildren = function (domNode, childNodes) { /* .. */ }
ko.utils.setDomNodeChildrenFromArrayMapping = function (domNode, array, mapping, options, callbackAfterAddingNodes) { /* .. */ }
ko.utils.setElementName = function (element, name) { /* .. */ }
ko.utils.setHtml = function (node, html) { /* .. */ }
ko.utils.setOptionNodeSelectionState = function (optionNode, isSelected) { /* .. */ }
ko.utils.setTextContent = function (element, textContent) { /* .. */ }
ko.utils.stringStartsWith = function (string, startsWith) { /* .. */ }
ko.utils.stringTokenize = function (string, delimiter) { /* .. */ }
ko.utils.stringTrim = function (string) { /* .. */ }
ko.utils.stringifyJson = function (data, replacer, space) { // replacer and space are optional /* .. */ }
ko.utils.tagNameLower = function (element) { /* .. */ }
ko.utils.toggleDomNodeCssClass = function (node, classNames, shouldHaveClass) { /* .. */ }
ko.utils.triggerEvent = function (element, eventType) { /* .. */ }
ko.utils.unwrapObservable = function (value) { /* .. */ }
@hyle

hyle commented Mar 5, 2014

Copy link
Copy Markdown
Author

for KnockoutJS 3.1.0: https://gist.github.com/hyle/9363349

@xiaojian520

Copy link
Copy Markdown

谢谢

@hyle

hyle commented Feb 19, 2015

Copy link
Copy Markdown
Author

@hyle

hyle commented Feb 7, 2016

Copy link
Copy Markdown
Author

for KnockoutJS 3.4.0 / 3.4.1 / 3.4.2: https://gist.github.com/hyle/8840a083bcd1325a59ca

@Arthur-Z

Arthur-Z commented Nov 10, 2016

Copy link
Copy Markdown

非常感谢!!!但能否继续提供一些使用示例或文档?

@alfredrumss

Copy link
Copy Markdown

Thank you so much!

@ademola25

Copy link
Copy Markdown

thanks

@hyle

hyle commented Sep 25, 2018

Copy link
Copy Markdown
Author

@LeonSilva15

Copy link
Copy Markdown

Thank you!

@ScottA38

Copy link
Copy Markdown

Hi, thankyou for the resource - I am not sure if there is somewhere else to find it but I would appreciate it if the primitive retturn types could be included as well for each sig

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment