From afc4ddd702c86d8bef2787c06b0a4055c6dd3b75 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Mon, 24 Nov 2025 09:06:12 -0500 Subject: [PATCH 1/4] Add github action to codespell master on push and PRs --- .github/workflows/codespell.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/codespell.yml diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml new file mode 100644 index 0000000..b026c85 --- /dev/null +++ b/.github/workflows/codespell.yml @@ -0,0 +1,25 @@ +# Codespell configuration is within .codespellrc +--- +name: Codespell + +on: + push: + branches: [master] + pull_request: + branches: [master] + +permissions: + contents: read + +jobs: + codespell: + name: Check for spelling errors + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Annotate locations with typos + uses: codespell-project/codespell-problem-matcher@v1 + - name: Codespell + uses: codespell-project/actions-codespell@v2 From 27ca2ffd6b9a425b8dd80b8aa9b264f70d814df0 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Mon, 24 Nov 2025 09:06:12 -0500 Subject: [PATCH 2/4] Add rudimentary codespell config --- .codespellrc | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .codespellrc diff --git a/.codespellrc b/.codespellrc new file mode 100644 index 0000000..7de6e1c --- /dev/null +++ b/.codespellrc @@ -0,0 +1,6 @@ +[codespell] +# Ref: https://github.com/codespell-project/codespell#using-a-config-file +skip = .git*,*.svg,*.lock,*.css,*.min.*,.codespellrc +check-hidden = true +# ignore-regex = +ignore-words-list = bu,ot From ad478f8aef7fdab7dd735306e302b74d79657c63 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Mon, 24 Nov 2025 09:07:33 -0500 Subject: [PATCH 3/4] [DATALAD RUNCMD] run codespell throughout fixing typos automagically (but ignoring overall fail due to ambigous ones) === Do not change lines below === { "chain": [], "cmd": "codespell -w || :", "exit": 0, "extra_inputs": [], "inputs": [], "outputs": [], "pwd": "." } ^^^ Do not change lines above ^^^ --- _templates/protocol.html | 2 +- js/angular.js | 54 ++++++++++++++++++++-------------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/_templates/protocol.html b/_templates/protocol.html index 584365b..1149757 100644 --- a/_templates/protocol.html +++ b/_templates/protocol.html @@ -223,7 +223,7 @@

{{ anchor('/accounts') }}GET /accounts

The Content-Type of the response is always application/json.
  • - If no query paramters are included in a request, then all the Account.transactions attributes will be empty lists. + If no query parameters are included in a request, then all the Account.transactions attributes will be empty lists.
  • diff --git a/js/angular.js b/js/angular.js index 5b431ae..03599a9 100644 --- a/js/angular.js +++ b/js/angular.js @@ -177,7 +177,7 @@ function reverseParams(iteratorFn) { * the number string gets longer over time, and it can also overflow, where as the nextId * will grow much slower, it is a string, and it will never overflow. * - * @returns an unique alpha-numeric string + * @returns an unique alphanumeric string */ function nextUid() { var index = uid.length; @@ -617,7 +617,7 @@ function shallowCopy(src, dst) { * * Both objects or values are of the same type and all of their properties pass `===` comparison. * * Both values are NaN. (In JavasScript, NaN == NaN => false. But we consider two NaN as equal) * - * During a property comparision, properties of `function` type and properties with names + * During a property comparison, properties of `function` type and properties with names * that begin with `$` are ignored. * * Scope and DOMWindow objects are being compared only be identify (`===`). @@ -824,7 +824,7 @@ function toKeyValue(obj) { /** - * We need our custom method because encodeURIComponent is too agressive and doesn't follow + * We need our custom method because encodeURIComponent is too aggressive and doesn't follow * http://www.ietf.org/rfc/rfc3986.txt with regards to the character set (pchar) allowed in path * segments: * segment = *pchar @@ -844,7 +844,7 @@ function encodeUriSegment(val) { /** * This method is intended for encoding *key* or *value* parts of query component. We need a custom - * method becuase encodeURIComponent is too agressive and encodes stuff that doesn't have to be + * method because encodeURIComponent is too aggressive and encodes stuff that doesn't have to be * encoded per http://tools.ietf.org/html/rfc3986: * query = *( pchar / "/" / "?" ) * pchar = unreserved / pct-encoded / sub-delims / ":" / "@" @@ -1469,7 +1469,7 @@ function publishExternalAPI(angular){ * - [val()](http://api.jquery.com/val/) * - [wrap()](http://api.jquery.com/wrap/) * - * ## In addtion to the above, Angular provides additional methods to both jQuery and jQuery lite: + * ## In addition to the above, Angular provides additional methods to both jQuery and jQuery lite: * * - `controller(name)` - retrieves the controller of the current element or its parent. By default * retrieves controller associated with the `ngController` directive. If `name` is provided as @@ -2669,7 +2669,7 @@ function annotate(fn) { * * @param {string} name The name of the service to decorate. * @param {function()} decorator This function will be invoked when the service needs to be - * instanciated. The function is called using the {@link AUTO.$injector#invoke + * instantiated. The function is called using the {@link AUTO.$injector#invoke * injector.invoke} method and is therefore fully injectable. Local injection arguments: * * * `$delegate` - The original service instance, which can be monkey patched, configured, @@ -3261,12 +3261,12 @@ function Browser(window, document, $log, $sniffer) { /** * @name ng.$browser#defer * @methodOf ng.$browser - * @param {function()} fn A function, who's execution should be defered. + * @param {function()} fn A function, who's execution should be deferred. * @param {number=} [delay=0] of milliseconds to defer the function execution. * @returns {*} DeferId that can be used to cancel the task via `$browser.defer.cancel()`. * * @description - * Executes a fn asynchroniously via `setTimeout(fn, delay)`. + * Executes a fn asynchronously via `setTimeout(fn, delay)`. * * Unlike when calling `setTimeout` directly, in test this function is mocked and instead of using * `setTimeout` in tests, the fns are queued in an array, which can be programmatically flushed @@ -3290,10 +3290,10 @@ function Browser(window, document, $log, $sniffer) { * @methodOf ng.$browser.defer * * @description - * Cancels a defered task identified with `deferId`. + * Cancels a deferred task identified with `deferId`. * * @param {*} deferId Token returned by the `$browser.defer` function. - * @returns {boolean} Returns `true` if the task hasn't executed yet and was successfuly canceled. + * @returns {boolean} Returns `true` if the task hasn't executed yet and was successfully canceled. */ self.defer.cancel = function(deferId) { if (pendingDeferIds[deferId]) { @@ -4257,8 +4257,8 @@ function $CompileProvider($provide) { var parentScope = scope.$parent || scope; - forEach(newIsolateScopeDirective.scope, function(definiton, scopeName) { - var match = definiton.match(LOCAL_REGEXP) || [], + forEach(newIsolateScopeDirective.scope, function(definition, scopeName) { + var match = definition.match(LOCAL_REGEXP) || [], attrName = match[2]|| scopeName, mode = match[1], // @, =, or & lastValue, @@ -4313,7 +4313,7 @@ function $CompileProvider($provide) { default: { throw Error('Invalid isolate scope definition for directive ' + - newIsolateScopeDirective.name + ': ' + definiton); + newIsolateScopeDirective.name + ': ' + definition); } } }); @@ -6379,7 +6379,7 @@ function setter(obj, path, setValue) { } /** - * Return the value accesible from the object by path. Any undefined traversals are ignored + * Return the value accessible from the object by path. Any undefined traversals are ignored * @param {Object} obj starting object * @param {string} path path to traverse * @param {boolean=true} bindFnToScope @@ -6555,7 +6555,7 @@ function getterFn(path, csp) { * @returns {function(context, locals)} a function which represents the compiled expression: * * * `context` – `{object}` – an object against which any expressions embedded in the strings - * are evaluated against (tipically a scope object). + * are evaluated against (typically a scope object). * * `locals` – `{object=}` – local variables context object, useful for overriding values in * `context`. * @@ -7444,7 +7444,7 @@ function $RouteProvider(){ } /** - * @returns interpolation of the redirect path with the parametrs + * @returns interpolation of the redirect path with the parameters */ function interpolate(string, params) { var result = []; @@ -8155,7 +8155,7 @@ function $RootScopeProvider(){ * Afterwards, the event traverses upwards toward the root scope and calls all registered * listeners along the way. The event will stop propagating if one of the listeners cancels it. * - * Any exception emmited from the {@link ng.$rootScope.Scope#$on listeners} will be passed + * Any exception emitted from the {@link ng.$rootScope.Scope#$on listeners} will be passed * onto the {@link ng.$exceptionHandler $exceptionHandler} service. * * @param {string} name Event name to emit. @@ -8221,7 +8221,7 @@ function $RootScopeProvider(){ * Afterwards, the event propagates to all direct and indirect scopes of the current scope and * calls all registered listeners along the way. The event cannot be canceled. * - * Any exception emmited from the {@link ng.$rootScope.Scope#$on listeners} will be passed + * Any exception emitted from the {@link ng.$rootScope.Scope#$on listeners} will be passed * onto the {@link ng.$exceptionHandler $exceptionHandler} service. * * @param {string} name Event name to emit. @@ -8362,7 +8362,7 @@ function $SnifferProvider() { * A reference to the browser's `window` object. While `window` * is globally available in JavaScript, it causes testability problems, because * it is a global variable. In angular we always refer to it through the - * `$window` service, so it may be overriden, removed or mocked for testing. + * `$window` service, so it may be overridden, removed or mocked for testing. * * All expressions are evaluated with respect to current scope so they don't * suffer from window globality. @@ -8536,7 +8536,7 @@ function $HttpProvider() { * $resource} service. * * The $http API is based on the {@link ng.$q deferred/promise APIs} exposed by - * the $q service. While for simple usage patters this doesn't matter much, for advanced usage, + * the $q service. While for simple usage patterns this doesn't matter much, for advanced usage, * it is important to familiarize yourself with these apis and guarantees they provide. * * @@ -10213,7 +10213,7 @@ var uppercaseFilter = valueFn(uppercase); - it('should limit the numer array to first three items', function() { + it('should limit the number array to first three items', function() { expect(element('.doc-example-live input[ng-model=limit]').val()).toBe('3'); expect(binding('numbers | limitTo:limit')).toEqual('[1,2,3]'); }); @@ -10272,7 +10272,7 @@ function limitToFilter(){ * Orders a specified `array` by the `expression` predicate. * * Note: this function is used to augment the `Array` type in Angular expressions. See - * {@link ng.$filter} for more informaton about Angular arrays. + * {@link ng.$filter} for more information about Angular arrays. * * @param {Array} array The array to sort. * @param {function(*)|string|Array.<(function(*)|string)>} expression A predicate to be @@ -11847,7 +11847,7 @@ var VALID_CLASS = 'ng-valid', * @property {Array.} $formatters Whenever the model value changes, it executes all of * these functions to convert the value as well as validate. * - * @property {Object} $error An bject hash with all errors as keys. + * @property {Object} $error An object hash with all errors as keys. * * @property {boolean} $pristine True if user has not interacted with the control yet. * @property {boolean} $dirty True if user has already interacted with the control. @@ -12339,7 +12339,7 @@ var ngValueDirective = function() { * Typically, you don't use `ngBind` directly, but instead you use the double curly markup like * `{{ expression }}` which is similar but less verbose. * - * Once scenario in which the use of `ngBind` is prefered over `{{ expression }}` binding is when + * Once scenario in which the use of `ngBind` is preferred over `{{ expression }}` binding is when * it's desirable to put bindings into template that is momentarily displayed by the browser in its * raw state before Angular compiles it. Since `ngBind` is an element attribute, it makes the * bindings invisible to the user while the page is loading. @@ -12677,7 +12677,7 @@ var ngClassEvenDirective = classDirective('Even', 1); * directive to avoid the undesirable flicker effect caused by the html template display. * * The directive can be applied to the `` element, but typically a fine-grained application is - * prefered in order to benefit from progressive rendering of the browser view. + * preferred in order to benefit from progressive rendering of the browser view. * * `ngCloak` works in cooperation with a css rule that is embedded within `angular.js` and * `angular.min.js` files. Following is the css rule: @@ -13361,7 +13361,7 @@ var ngNonBindableDirective = ngDirective({ terminal: true, priority: 1000 }); * plural categories "one" and "other". * * @param {string|expression} count The variable to be bounded to. - * @param {string} when The mapping between plural category to its correspoding strings. + * @param {string} when The mapping between plural category to its corresponding strings. * @param {number=} offset Offset to deduct from the total number. * * @example @@ -13812,7 +13812,7 @@ var ngStyleDirective = ngDirective(function(scope, element, attr) { * @scope * @param {*} ngSwitch|on expression to match against ng-switch-when. * @paramDescription - * On child elments add: + * On child elements add: * * * `ngSwitchWhen`: the case statement to match against. If match then this * case will be displayed. From be303e466dbcbc4809b2ba2230727f5eb1a52271 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Mon, 24 Nov 2025 09:08:04 -0500 Subject: [PATCH 4/4] [DATALAD RUNCMD] chore: run codespell throughout fixing a few typos interactively === Do not change lines below === { "chain": [], "cmd": "codespell -w -i 3 -C 4", "exit": 0, "extra_inputs": [], "inputs": [], "outputs": [], "pwd": "." } ^^^ Do not change lines above ^^^ --- _oldprotocol.md | 2 +- js/angular.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_oldprotocol.md b/_oldprotocol.md index 48f7bde..dcedaf1 100644 --- a/_oldprotocol.md +++ b/_oldprotocol.md @@ -148,7 +148,7 @@ Get an Account Holder's transaction data. #### Query parameters - `start-date` - (optional) if given, transactions will be restricted to those on or after this Unix epoch timestamp. -- `end-date` - (optional) if given, transactions will be retricted to those before (**but not on**) this Unix epoch timestamp +- `end-date` - (optional) if given, transactions will be restricted to those before (**but not on**) this Unix epoch timestamp #### Authentication diff --git a/js/angular.js b/js/angular.js index 03599a9..ab92822 100644 --- a/js/angular.js +++ b/js/angular.js @@ -4373,7 +4373,7 @@ function $CompileProvider($provide) { * * @param {string} name name of the directive to look up. * @param {string} location The directive must be found in specific format. - * String containing any of theses characters: + * String containing any of these characters: * * * `E`: element name * * `A': attribute